随笔分类 -  Apworks

Apworks应用程序开发框架相关话题
摘要:HAL(Hypertext Application Language,超文本应用语言)是一种RESTful API的数据格式风格,为RESTful API的设计提供了接口规范,同时也降低了客户端与服务端接口的耦合度。很多当今流行的RESTful API开发框架,包括Spring REST,也都默认支 阅读全文
posted @ 2017-11-14 22:56 dax.net 阅读(3199) 评论(3) 推荐(6) 编辑
摘要:《在ASP.NET Core中使用Apworks快速开发数据服务》一文中,我介绍了如何使用Apworks框架的数据服务来快速构建用于查询和管理数据模型的RESTful API,通过该文的介绍,你会看到,使用Apworks框架开发数据服务是何等简单快捷,提供的功能也非常多,比如对Hypermedia的支持,以及提供丰富的异常信息和调用栈信息。另外,Apworks数据服务可以支持各种类型的仓储(Rep... 阅读全文
posted @ 2017-07-12 22:00 dax.net 阅读(2663) 评论(2) 推荐(1) 编辑
摘要:在之前《在ASP.NET Core中使用Apworks快速开发数据服务》一文的评论部分,.NET大神张善友为我提了个建议,可以使用Compile As a Service的Roslyn为语法解析提供支持。在此非常感激友哥给我的建议,也让我了解了一些Roslyn的知识。使用Roslyn的一个很大的好处是,框架无需依赖第三方的组件,并且Roslyn也是.NET Foundation的一个开源项目,为.... 阅读全文
posted @ 2017-06-06 20:21 dax.net 阅读(6851) 评论(14) 推荐(25) 编辑
摘要:最近我为我自己的应用开发框架Apworks设计了一套案例应用程序,并以Apache 2.0开源,开源地址是:https://github.com/daxnet/apworks-examples,目的是为了让大家更为方便地学习和使用.NET Core、最新的前端开发框架Angular,以及Apworks开发框架。今后会有越来越多的案例代码加入到这个系列中,以更好地展示Apworks框架在基于.NET... 阅读全文
posted @ 2017-05-07 20:06 dax.net 阅读(5978) 评论(6) 推荐(23) 编辑
摘要:HAL,全称为Hypertext Application Language,它是一种简单的数据格式,它能以一种简单、统一的形式,在API中引入超链接特性,使得API的可发现性(discoverable)更强,并具有自描述的特点。使用了HAL的API会更容易地被第三方开源库所调用,并且使用起来也很方便,开发者可以像处理普通JSON数据那样去处理API数据。有关HAL的更多信息,可以参考官方网站:ht... 阅读全文
posted @ 2017-04-12 20:15 dax.net 阅读(2454) 评论(2) 推荐(0) 编辑
摘要:不少关注我博客的朋友都知道我在2009年左右开发过一个名为Apworks的企业级应用程序开发框架,旨在为分布式企业系统软件开发提供面向领域驱动(DDD)的框架级别的解决方案,并对多种系统架构风格提供支持。这个框架的开发和维护我坚持了很久,一直到2015年,我都一直在不停地重构这个项目。目前这个项目在Github上也得到了将近260的推荐数,很多对技术感兴趣的朋友也一直与我保持着联系和交流,甚至还有... 阅读全文
posted @ 2017-04-03 09:56 dax.net 阅读(5878) 评论(10) 推荐(23) 编辑
摘要:在前面的章节中,我们已经设计了一个简单的领域模型,接下来我们希望能够实现领域模型的持久化及查询。在Apworks中,实现了面向Entity Framework、NHibernate以及MongoDB的仓储基础结构。在本章节中,我将向大家介绍如何在Apworks中使用基于Entity Framework的仓储机制。 搭建基于Entity Framework的基础结构 在使用Apworks提供的仓... 阅读全文
posted @ 2015-10-15 22:26 dax.net 阅读(6688) 评论(23) 推荐(13) 编辑
摘要:Apworks框架实战(一):Apworks到底是什么? Apworks框架实战(二):开始使用 Apworks框架实战(三):单元测试与持续集成 Apworks框架实战(四):使用Visual Studio开发面向经典分层架构的应用程序:从EasyMemo案例开始 Apworks框架实战(五):E 阅读全文
posted @ 2015-10-03 21:08 dax.net 阅读(10778) 评论(11) 推荐(9) 编辑
摘要:在上一讲中,我们已经新建了一个聚合根对象Account,并已经可以开始设计领域模型了。在这一讲中,我们会着重介绍EasyMemo领域模型的分析和设计,并引入Visual Studio Ultimate(旗舰版)版本的特性,介绍在Visual Studio 2013 Ultimate中如何使用体系结构建模工具进行领域模型设计,并自动化产生支持Apworks框架的代码。 界定上下文 由于EasyM... 阅读全文
posted @ 2015-10-03 20:54 dax.net 阅读(7703) 评论(31) 推荐(8) 编辑
摘要:时隔一年,继续我们的Apworks框架之旅。在接下来的文章中,我将逐渐向大家介绍如何在Visual Studio中结合Apworks框架,使用ASP.NET Web API和MVC来开发面向经典分层架构的应用程序。在这一讲中,我们首先了解一下分层架构的各个“层”,以及所涉及的Visual Studio项目,然后,我们从领域模型开始,在Visual Studio中开始我们的应用程序开发之旅。 说明... 阅读全文
posted @ 2015-10-02 11:40 dax.net 阅读(5946) 评论(14) 推荐(9) 编辑
摘要:虽然这部分内容并没有过多地讨论Apworks框架的使用,但这部分内容非常重要,它与Apworks框架本身的设计紧密相关,也是进一步了解Apworks框架设计的必修课。 单元测试与持续集成概述 在敏捷开发过程中,单元测试是非常重要的。这不同于传统的瀑布开发模型,在瀑布模型中,单元测试的重要性体现的并不明显,因为在这种模型中,“测试”被强调为整个开发流程中的一个环节,也会有专门的测试团队来负责测试... 阅读全文
posted @ 2014-04-14 22:14 dax.net 阅读(7433) 评论(17) 推荐(11) 编辑
摘要:要使用Apworks进行应用程序开发,您需要安装Visual Studio 2012以上的版本(以下简称Visual Studio 2012+),从Apworks 2.5开始,需要Micrsoft.NET Framework 4.5的支持,因此强烈建议使用Visual Studio 2012+进行开发。 获取源代码 要获得最新版本的代码,请使用下面的命令获取: git clone https... 阅读全文
posted @ 2014-04-02 09:29 dax.net 阅读(8306) 评论(16) 推荐(10) 编辑
摘要:简介 Apworks是一款基于Microsoft .NET的面向领域驱动的企业级应用程序开发框架,它适用于以领域模型为核心的企业级系统的开发和集成。Apworks不仅能够很好地支持经典的分层架构,而且还能支持基于事件驱动的命令查询职责分离(Command-Query Responsibility Segregation, CQRS)架构。 随着软件系统日趋复杂,构建一套可用的、稳定的、可扩展的... 阅读全文
posted @ 2014-04-01 20:52 dax.net 阅读(17451) 评论(26) 推荐(30) 编辑
摘要:上周我发布了Apworks框架的最新版本,打算写点文章来介绍如何在实际项目中使用Apworks进行开发。今天先简单写一点东西,首先说明一下,Apworks本身是面向领域驱动的一套开发框架,因此,领域模型的分析和建立就是使用Apworks的重点;然而,在大家对Apworks还没有任何了解的基础上,我暂时先抛开领域模型的建立,先向大家展示一下,如何使用Apworks开发第一个可以运行的程序。在这篇文章的介绍中,我们的领域模型只有一个聚合:日记(Note),而且我们会将这个聚合对象同时用作数据传输对象,这当然与DDD的宗旨是违背的,但为了简化介绍过程,我们也不把问题复杂化了。现在,就让我们一起来创建 阅读全文
posted @ 2013-05-14 15:42 dax.net 阅读(6641) 评论(25) 推荐(23) 编辑
摘要:经过大半年的断断续续的努力,今天,我发布了Apworks的一个新版本:2.5.4878.35266。Apworks是我从2009年开始一直开发并维护的一个面向领域驱动的基于.NET的企业级应用程序开发框架,通过使用这个框架,开发者可以快速地开发出面向领域驱动的、专业的企业级应用程序。Apworks同时支持经典分层架构以及CQRS架构(基于CQRS架构的案例程序请参考:Tiny Library CQRS:http://tlibcqrs.codeplex.com)。为了更透明地向读者介绍面向领域驱动的经典分层架构,我也在社区中开发过一个案例程序:Byteart Retail(https://git 阅读全文
posted @ 2013-05-10 21:36 dax.net 阅读(6970) 评论(31) 推荐(22) 编辑
摘要:关注我的朋友,相信一直会知道Apworks框架,它是我从2009年开始一直坚持开发的一套基于Microsoft .NET的面向领域驱动的应用程序开发框架,框架的源代码地址是:https://github.com/daxnet/Apworks。今天,我在Linux系统(CentOS 6.3)上成功编译了Apworks框架,大致写一下感受。Linux的.NET实现:Mono开源项目目前不支持MSMQ和Entity Framework(当然,据说EF开源以后,Mono就可以支持EF了,而且是6的版本,不过我在编译Apworks的时候,始终提示说无法找到System.Data.Entity程序集,即使 阅读全文
posted @ 2013-04-25 15:06 dax.net 阅读(1513) 评论(3) 推荐(2) 编辑
摘要:经过几天的努力,我将Apworks框架和Byteart Retail案例搬迁到了著名的GitHub上,地址如下: Apworks:http://github.com/daxnet/Apworks Byteart Retail:http://github.com/daxnet/ByteartRetail 今后的更新都会在这两个portal上进行,原来在codeplex上的项目将不继续更新。 另外... 阅读全文
posted @ 2012-12-08 11:52 dax.net 阅读(3242) 评论(16) 推荐(0) 编辑
摘要:随着几个版本的更新,Apworks框架也日趋成熟。为了能够让开发人员更加方便地使用该框架进行企业级应用程序的开发,在维护框架本身的同时,我也致力于与其配套的工具软件和Visual Studio插件的研究和开发。在Apworks的最新版本中,已经添加了分别面向NHibernate和Entity Framework的WCF服务开发项目模板,但这个模板还很不完善,扩展性也不好(比如框架本身还支持Mong... 阅读全文
posted @ 2012-11-21 11:32 dax.net 阅读(3966) 评论(14) 推荐(8) 编辑
摘要:周末抽空简单地对Apworks框架所支持的三种仓储实现:Entity Framework、NHibernate以及MongoDB进行了性能基准测试,并对其结果进行对比。从对比的结果来看,MongoDB仓储的性能要远胜于其它两者。基准测试采用的是我在两年前开发的一个基于Visual Studio Unit Test Framework的基准测试程序(名为:Visual Benchmark),该程序可... 阅读全文
posted @ 2012-07-31 08:22 dax.net 阅读(3975) 评论(11) 推荐(11) 编辑
摘要:概述 在企业级应用程序中,存储部分的技术选型是多样化的,开发人员可以根据应用的具体情况来选择合适的存储技术,比如关系型数据库或者文档数据库、对象数据库等。为此,Apworks也从框架级别对Repository的定制和二次开发进行支持,目前默认地提供三种Repository的实现:NHibernate Repository、Entity Framework Repository和MongoDB Re... 阅读全文
posted @ 2012-07-23 22:41 dax.net 阅读(3518) 评论(16) 推荐(5) 编辑