企业应用架构学习笔记

        最近因为要学习领域驱动设计,在看到《领域驱动设计:软件核心复杂性应对之道》时,里面很多地方都提到了《企业应用架构模式》,企业应用架构这本书是由非常著名的Martin Fowler 写的,Martin Fowler 除了总结过企业架构的设计模式之外,还写了非常多的其它软件工程相关的文章,比如曾总结过IOC,写过分析模式,写过代码重构模式,具体可参看他的个人网站http://www.martinfowler.com/articles/injection.html

        所以我在大概浏览了领域驱动设计之后,开始大概浏览了企业架构,该书首先是介绍了一些基本的架构概念及术语,比如行入口,表入口,活动记录等,以代码的角度说来无非就是一个类的行为和业务逻辑放哪里的问题,但是在看这本书的时候不能仅仅以一个代码的角度来看,毕竟后面开始介绍了一些架构的设计模式,比如数据库的映射、领域的职责等等,若是代码上来说无非就是类与类之间的关联关系。这就和学习二十几种设计模式一样,开始的时候我只关注代码的设计,这样就感觉这二十几个设计模式有好多个都是类似的,后来逐渐开始理解各种设计模式的应用场景及所解决的问题,就慢慢开始运用起来了。

        对于企业架构的学习,我仅仅是浏览了一遍,作为深入学习领域设计的基础。企业架构书中讲到了很多关于数据库映射的模式,比如延迟加载、外键映射等等。这些都可以在网上一一找到机制原理。当然还讲到了视图设计的模式,这并不是我关心的。我大概看了下里面对于领域层设计模式的介绍以及工作单元的介绍。

        对于领域层的设计,基本上采用了充血的模型,即一个类中可以有自己的行为、业务逻辑。对于领域层类的划分采用了实际的面向对象的思想方式,先将业务领域分析出多个对象,然后定义出来这些对象的行为,若是多个对象之间的行为,则采用领域层的服务模块来组织,比如转账的业务,可以分析出一个账户对象,这个对象具有给自己加钱,以及减钱的行为,而转账的逻辑由领域层的转账服务类来控制。这只是我学习过后一个简简单单的场景,当然实际的场景复杂的多。

        对与工作单元,是用来管理数据库操作的模式,为了缓存数据库的增删改,特地建出一个管理类,当增加一条记录时在工作单元里注册一下增加操作,工作单元里的增加列表缓存会增加一条记录,删除一条记录时,在工作单元里注册一下删除操作,删除缓存列表会记录删除操作,最后工作单元一起提交的时候就会遍历这些缓存进行实际的数据库操作。这种工作单元的应用场景可能是最简单的,实际的业务中的操作可能会考虑到更多的方面,工作单元也有可能会更复杂。

        以上只是我在学习企业架构后的一些总结,在学习的过程中我了解了多层应用框架---xenta,一个基于这本书的思想而开发出来的多层应用框架,由于是Web的并且里面的基础框架比较复杂,我没有学习。  xenta的源码下载是http://xenta.codeplex.com/,若有兴趣可以自行下载研究。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值