您的位置:首页 > 运维架构 > 网站架构

企业应用架构模式笔记(2)组织领域逻辑

2012-09-15 23:49 615 查看
        领域逻辑的组织可以分为三种主要的模式:事务脚本、领域模型以及表模块。

        

        事务脚本,是这样一个过程:从表示层获得输入、进行校验和计算处理、将数据存储到数据库中以及调用其他系统的操作等。然后,该过程将更多的数据返回给表示层。基本的组织方式是让每个过程对应用户可能做的一个动作。该脚本,可能包含许多子例程,这些子例程可以在事务脚本中共享。

        这是一个每个开发者都能理解的过程模型。

        问题是当领域逻辑变得复杂时,可能会出现各种各样的子例程,使得应用程序没有清晰的结构,变成由许多程序组成的极度杂乱无章的网。

        领域模型,不再由一个过程来控制用户某一动作的逻辑,而是由每一个对象承担一部分相关逻辑。价值在于,一旦掌握了它,就可运用许多现成的技术来较好的组织日趋复杂的领域逻辑。例如,增加新的领域逻辑,领域模型可能只需添加新策略对象来应对,而事务脚本可能就要在本已复杂的程序结构中再添加一些新的逻辑判断子例程。

        开销来自于使用上的复杂性和数据源层的复杂性。还需要面对将领域模型映射到数据库的问题,该模型运用越充分,映射到关系数据库时越复杂。当然,还要在编码时注意不要过度的面向对象,呵呵,题外话,就是添加了太多太多的类和子类,过犹不及啊。

        表模块,设计成与记录集一起工作,在许多方面,是事务脚本和领域模型的中间地带。它围绕表而非直接围绕过程来组织领域逻辑,提供了更多的结构,而且更容易发现和移除冗余代码。

        但无法应用许多在领域模型中可以使用的组织细粒度逻辑结构的技术,如继承、策略和其他面向对象的设计模式。

         优点是易于与软件架构中已有部分的衔接,如GUI环境中的控件数据源绑定(.net)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息