企业应用架构模式
5页1、企业应用架构三层结构一个典型的企业应用按照层级进行划分一般可以分成三个层次:表现层、领域层和数据源层。其中领域层集中了企业应用主要的业务逻辑和规则,是最复杂易变的部分。有三种主要的模式来处理领域逻辑:事务脚本、领域模型以及表模块l 事务脚本:使用过程来组织业务逻辑,每个过程处理来自表现层的单个请求。适用于业务逻辑简单的小型系统l 领域模型:以面向对象的方式建模领域逻辑,对复杂业务建模提供了较好的扩展性和可维护性l 表模块:针对数据表来组织领域逻辑,主要操作的数据结构是记录集,是.net平台最常用的方式;表模块与领域模型的实体对象的关键区别在于它本身没有标识符来标出它所代表的实体对象服务层处理领域逻辑的常见方法是将领域层再细分成两层。服务层独立出来,置于底层的领域模型或者表模块之上。通常只有使用领域模型或者表模块时才会这样细分,因为仅使用事务脚本的领域层并不复杂,没有必要再单独设服务层。表现逻辑与领域层的交互完全通过服务层,就好象应用程序的API一样。在提供一个清晰API的同时,服务层也是放置事务控制和安全等功能的好场所。这样做可以使你获得一个简单的、包含了服务层所有方法并描述了其事务和
2、安全特征的模型。领域层映射到数据源层数据源层可以是文件系统,可以是内存,可以是数据库,只要能提供数据存储功能的都可以成为数据源层;最主要的数据源是关系型数据库,由于领域模型主要的理念是面向对象,而关系型数据库的主要理念是关联的二维表,两者之间存在着概念上的差异,当处理领域模型到数据源层的映射时就有许多问题,主要表现在架构方面和行为方面l 架构问题:对象和表如何映射,如何处理继承关系,对象间的引用如何映射为表之间的关联l 行为问题:对象何时加载,如何跟踪对象属性变化,对象何时保存,如何保证一条记录只有一个对象与之对应,当修改对象的属性并将其保存回数据库时如何保证数据库状态的一致性(同步),如何定义对象的查询成熟的模式数据源架构模式1. 表数据入口充当数据库表访问入口的对象,一个实例处理表中所有的行。表数据入口包含了用于访问单个表或视图的所有SQL,如选择,插入,更新,删除等,其他代码调用它的方法来实现所有与数据库的交互2. 行数据入口充当数据源中单条记录入口的对象。每行一个实例。行数据入口提供了看起来像记录结构中记录的对象,但可以用编程语言的常规机制访问它。所有对数据源的访问细节都隐藏在
3、这个接口之后。使用行数据入口要面对的问题是:在哪里存放产生该模式的查找操作。可以选择静态查找方法,但是它不支持需要为不同数据源提供不同查找方法的多态。在此情况下有必要设置单独的查找对象,这样关系数据库中的每张表都有一个查找方法和一个入口来获得结果3. 活动记录一个对象,它包装数据库表或视图中某一行,封装数据库访问,并在这些数据上增加了领域逻辑。活动记录与行数据入口十分类似。二者的主要差别是行数据入口仅有数据库访问而活动记录既有数据源逻辑又有领域逻辑。由于活动记录和数据库间的紧耦合,在这个模式中常用静态查找方法。但也没有理由说明不能把查找方法分离为一个单独的类4. 数据映射器在保持对象和数据库彼此独立的情况下,在二者之间移动数据的一个映射器层。对象-关系行为模式1. 工作单元维护受业务事务影响的对象列表,并协调变化的写入和并发问题的解决。从数据库中存取数据时,记录所修改的内容是非常重要的;否则,那些改变的数据将不会被写回到数据库中。同样,必须插入创建的新对象和移除已删除的对象。可以在每次修改对象模型时对数据库进行相应修改,但这样会产生大量规模很小的数据库调用,从而导致速度变慢。而且这样做
《企业应用架构模式》由会员hs****ma分享,可在线阅读,更多相关《企业应用架构模式》请在金锄头文库上搜索。
基于PLC的风机控制系统设计
张家口光伏设备设计项目实施方案【模板范本】
汽车售后服务部关键客户管理体系文件
组织委员月总结及计划(3篇).doc
人教版八年级上册数学月考练习试题及答案
农村初中学校年度工作总结样本(二篇)
安全技术资料台帐之十二
小学二年级老师教学年度工作总结范文五篇
机械结构工程师的职责(三篇)
跳槽前必看的辞职信格式
计算机与软件学院大学生创业计划大赛策划
2023新学期小班班级总结模板(2篇).doc
西平县设计服务项目创业计划书
特殊钢冷轧项目商业计划书写作参考
个人劳务合同经典版(九篇).doc
2009年二级建造师法规真题及答案7973831746
精校版【冀教版】五年级上册数学:第5单元 第3课时 四则混合运算多种方法解决问题
20年技术员个人工作总结范文
中国石油大学华东21春《安全人机工程》在线作业一满分答案11
行政文秘年度工作计划标准范文(2篇).doc
2023-10-20 21页
2023-06-23 2页
2023-07-13 22页
2022-09-12 4页
2023-07-09 3页
2023-12-25 3页
2023-10-14 6页
2023-05-22 13页
2022-12-12 5页
2023-07-05 12页