`
yimlin
  • 浏览: 139461 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

小议领域模型(Domain Model)补充以及更新

阅读更多
Author: Anders小明

为何要Domain Model
传统的开发方式:基于数据库的设计开发。数据库提供的设计模型是表和字段两种粒度,这两种粒度有时并不合适于系统设计:
1. 模型的结构化能力
1.1. 同一模块组件下的设计优势;一个model可以来自多张表的数据聚合而成,一张表可以聚合多个Model;一个逻辑是由几个固定字段或者非固定字段聚合;Model间的关联关系也是使用表无法展示的(外键的约束对于系统开发来说实在太有限了)。而这些不论表还是字段粒度都无法支持的!
1.2. 采用Model方式容易解决项目的集成问题(两个不同模块组件访问同一张表的情况)

2. 架构的结构化能力
事务脚本直接访问到表。换句话说,其架构只有Service + Database Table,这样的架构下Database Table可以说就是我们的模型。
这里看看在逻辑设计上Domain Model对于架构影响
A. Service, Model和Repository,model的重建和关联交由Repository完成,单个数据逻辑交给Model(支持泛化)
B. 测试的好处

3. 分析和设计的统一
沟通的问题,客户关注于其业务,分析的模型接近于客户需求,设计也采用model的方式,避免分析和设计的割裂。有助于IT间,IT和BA(客户)间的沟通

4. 其它好处
4.1.采用Domain Model可以屏蔽持久化信息。持久化设计的表设计是和DBA相关的,DBA对于表设计有权力的,采用Model可以有效隔离各自工作;
4.2.Model可以通过很多的手段透明的解决性能问题,而采用表做模型导致容易导致性能问题,当然不是没有办法解决,一种是通过DataSet的方式,但这样的切换成本较高。

应用Domain的体系结构
如前所述,逻辑设计上Domain Model的实施使得架构分为Service,Model和Repository;其中Model的持久化,重建和关联交由Repository完成;而单数据逻辑(依赖自身数据信息以及关联数据)则归于Model(支持泛化);Service则关注于任务处理,相当于一个macro flow,包括了多个model处理,以及其它服务的调用。
以下是示意图:
Domain Service  | Repository
Domain Object   |

Repository和Dao
Repository是一种特殊的Service,不做任务处理;而是提供Model的持久化,重建和查询工作。由于企业应用大都通过数据库实现持久化,因而Repository和传统的Dao间的集成设计就非常重要。

已知的有三种设计方式:
1. 两个接口两个实现类。Repository和Dao各自独立接口,而通过Repository实现类转发请求给Dao实现类。
这种方式虽然正统,但是维护成本太高;一次更新最多要改四处地方。
2. 两个接口一个实现类。Repository和Dao各自独立接口,一个实现类同时实现两个接口。
这种方式就大大简化维护成本;一次更新最多只改一个接口和一个实现类。
3. 两个接口一个实现类。与上面不同是,Dao接口继承Repository接口,一个实现类实现Dao接口。
这种方式的维护成本和上一种差不多,但是当接口方法在这个两个接口间流动时,可以通过开发工具完成。

另外Dao实现类本身也是工作中开发维护成本较高的一部分,可以通过代码生成降低开发成本,更多资料可以参考ibatis。
0
0
分享到:
评论

相关推荐

    小议EC加IO联合模型及应用.doc

    小议EC加IO联合模型及应用.doc

    小议MVC模式开发

    **小议MVC模式开发** MVC(Model-View-Controller)模式是软件工程中的一种设计模式,广泛应用于Web应用程序的开发中,特别是在Java、.NET等框架中。该模式将应用程序分为三个主要部分,旨在实现业务逻辑与用户界面...

    小议布赖恩·温的公众理解科学理论研究内省模型.doc

    他的理论研究主要集中在批判传统的“缺失模型”(deficit model)并提出“内省模型”(reflexivity model)。缺失模型通常认为公众对科学的误解源于他们对科学知识的不足,而温的观点则挑战了这一观念。 在温的研究...

    小议伦理研究的新领域公共管理伦理学探讨.doc

    小议伦理研究的新领域公共管理伦理学探讨.doc

    小议经理人业绩评析模型及应用.doc

    值”和“非财务指标——董事会评价”组成的经理人业绩评析模型,旨在全面、客观地评价经理人的工作绩效。 经理人的业绩评价是企业激励机制中的核心环节,尤其是在股票期权激励计划中。股票期权作为一种激励手段,其...

    小议会计信息化运用中难题以及意见.doc

    《小议会计信息化运用中难题以及意见》 会计信息化,作为现代信息技术与会计学科结合的产物,自上世纪70年代末在中国萌芽以来,已经取得了显著的发展。它以会计电算化为基础,逐步演变为一个集物流、资金流、信息流...

    小议经济型酒店消费者心理及消费方向.doc

    小议经济型酒店消费者心理及消费方向.doc

    小议新形势下大额现金管理.doc

    4. 经济活动中的现金偏好:尽管支付交易电子化发展,但基层地区和个人仍倾向于现金交易,这可能是由于税收规避、价格灵活性、费用扣除便利以及潜在的洗钱需求等因素。 5. 管理制度滞后:现有的现金管理制度可能存在...

    小议外汇期权会计在新规则中应用.doc

    小议外汇期权会计在新规则中应用 本文主要探讨了小议外汇期权会计在新规则中的应用,涉及到外汇期权的概念、分类、确认、计量和披露等方面的知识点。 一、外汇期权的概念 外汇期权是一种金融衍生工具,允许持有人...

    抖动算法小议

    ### 抖动算法小议——深入探讨多媒体技术中图像的抖动算法 #### 引言 在多媒体领域,尤其是在图像处理技术中,抖动算法扮演着至关重要的角色。本文旨在通过对抖动算法的深入解析,帮助读者理解其原理及其在灰度...

    小议商业银行操作风险以及量化监管.doc

    为了有效管理操作风险,商业银行需要实施全面的风险管理框架,这包括制定风险管理政策和程序,进行风险评估,建立内部控制机制,培训员工提高风险意识,以及定期审查和更新风险管理措施。此外,银行还需要利用定量...

    小议GPS高程测量拟合若干探讨.pdf

    这通常涉及到对重力场模型的运用,以及利用有限数量的GPS和水准测量重合点进行拟合。 拟合方法主要有两种常见策略: 1. **常数拟合法**:适用于小范围且精度要求不高的工程测量。假设局部大地水准面与椭球面平行,...

    小议嵌入式计算机技术.pdf

    小议嵌入式计算机技术.pdf

    法治思想起源小议.docx

    法治思想起源小议.docx

    小议食品安全问题.doc

    小议食品安全问题.doc

    小议人力资源外包.doc

    小议人力资源外包.doc

    小议“地摊经济”合集

    小议“地摊经济”合集

Global site tag (gtag.js) - Google Analytics