
Patterns of Enterprise Application Architecture
文章平均质量分 62
ntwo1980
这个作者很懒,什么都没留下…
展开
-
分层(Laying)
分层(Laying)是软件开发者用来将复杂的软件系统分解的最常用的方法。 当你使用“层”(Lay)这个术语考虑一个系统时,你可以把软件中的主要子系统的组织方式想象为多层蛋糕,每一层都位于低层之上。在这个方案中,高层使用低层中定义的各种服务,但低层却意识不到高层的存在。更进一步地,每一层通常都会对其低层隐藏在其上的层,因此,层4使用层3提供的服务,而层3使用层2提供的服务,但是层4不知道层2的存翻译 2006-10-10 19:56:00 · 605 阅读 · 0 评论 -
选择在何处运行层
本书的大部分内容我都是讨论逻辑层:将系统划分为不同的部分,以减少系统不同部分之间的耦合。即使所有的层都运行在同一台物理机器上,它们之间的分离也是有用的。但系统的不同物理架构所处的位置也有所不同。对于大多数IS应用程序,决定就是是否在一台客户端、桌面机器,服务器上运行处理过程。最简单的情况就是在服务器运行所有的一切。通过运用使用web浏览器的HTML前端是实现此方案的一个好方法。在服务器上运翻译 2006-10-14 16:07:00 · 661 阅读 · 0 评论 -
组织域逻辑
在组织域逻辑过程中我将它分成了三个主要模式:Transaction Script,Domain Model和Table Module。存储域逻辑的最简单的方法是Transaction Script。一个Transation Script是本质是一个过程,它从表现取得输入,通过校验和计算的处理,并将数据存储到数据库的,调用其它系统的任何操作,向表现回馈更多的数据,可能进行更多的计算,以帮助组织和翻译 2006-10-14 20:34:00 · 1064 阅读 · 0 评论 -
表数据网关(Table Data Gateway)
一个对象担当通向数据库表的网关。一个实例处理表中的所有行。在应用程序逻辑中混合SQL将导致很多问题。很多开发者不会SQL,很多会但是写不好。表数据网关保存访问一个数据表或视图的所有SQL:selects, inserts, updates和deletes。其它代码通过调用它的方法与数据库交互。它如何工作表数据网关有一个简单的接口,通常由几个查找方法获取数据库中的数据和更新、插入翻译 2006-10-17 17:38:00 · 1107 阅读 · 1 评论 -
域模型(Domain Model)
域的对象模型同时包含行为和数据。 在最坏的情况下,业务逻辑可能会非常复杂。这正是对象的设计目的。域模型创建了相关关联的对象的网络,其中的每一个对象都代表了某些有用的个体,不管这个个体是大的有如一个公司,还是小的有如订单表单上的一行。 它如何工作在应用程序中加入域模型包括插入整个由对象组成的层,这些对象是对你正在操作的业务区域进行建模。你会在其中发现模拟业务中使用的数据的类和业务模拟翻译 2006-10-15 16:25:00 · 7408 阅读 · 1 评论 -
表模块(Table Module)
一个实例处理数据库表或视图中的所有行的业务逻辑。面向对象的重要一点就是将数据和使用它们的行为捆绑在一起。传统的面向对象方法是基于有标识的对象的,使用域模型。因此,如果我有一个雇员类,它的任何实例都对应于一个特定的雇员。这个架构工作地很好,因为一旦我们建立了对一个雇员的引用,我们执行操作、跟踪关系和获取它的数据。域模型的一个问题是与关系型数据库的接口。表模块以数据库中的每张表为单位翻译 2006-10-16 14:53:00 · 2046 阅读 · 1 评论 -
何时分层
虽然我们可以通过显示、业务和数据源的单独的例子辨别出它们的职责,每个例子都有它们自己的关于它们如何分离的问题。如果每一个职责都相当的复杂,那将它们分离到他们自己单独的模块中将变得很意义。一个有复杂逻辑的应用程序对于表现、业务和数据源应该有它的单独的包结构。事实上,它将有更进一步的中间层。但简单一点的系统可能不会有这些包。如果你所做的所有工作就是查看简单的数据项,那么将所有的逻辑都放入一系列服务器页翻译 2006-10-14 10:47:00 · 578 阅读 · 0 评论 -
主要的三层
层 职责 表现 提供服务,信息显示(例如,在窗体或HTML中,处理用户请求(鼠标点击,键盘敲击),HTTP请示翻译 2006-10-11 09:38:00 · 655 阅读 · 0 评论 -
企业应用程序中层的演化(The Evolution of Layers in Enterprise Applications)
层的概念在90年代随着客户端-服务端(以下简称C/S)系统的而出现。它们是两层系统:客户端持有用户界面和其它应用程序代码。服务端通常是关系型数据库。常用的客户端工具是VB,Powerbuilder和Delphi。因为这些工具拥有可以调用SQL的UI组件,使得创建数据密集型的应用程序变得很容易。你可以通过将控件拖到设计区域,使用控件属性关联属性和数据库的方式来创建一个表单。如果应用程序都是对关系翻译 2006-10-10 21:59:00 · 625 阅读 · 0 评论 -
事务脚本(Transaction Script)
根据过程组织业务逻辑,每个过程处理来自表现层的一个单一请求。 大多数应用程序可以想象成一系列事务。一个事务可以查看以一定方式组织的信息。另一个会修改数据库。每一个客户端系统和服务器系统之间的交互都包含着一定的逻辑。在某些情况下,这可能如显示数据库中的某些信息一样简单。在另外的情况下,可能包含进行验证和计算的很多步骤。一个事务脚本主要是将逻辑组织成一个过程,这个过程直接调用数据库或通过一翻译 2006-10-15 09:59:00 · 3426 阅读 · 3 评论