• 初读《企业应用架构模式》——阅读笔记1


      今天从网上找了好久软件体系架构的书,在一篇前辈的博客中找到了《企业应用架构模式》这本书,为了省钱还是选择电子版,哈哈,附上下载网址,方便看到我博客的小伙伴不用再去辛苦的找地方下载了:http://www.uzzf.com/qudong/126178.html

      下面进入正题:作者在前言中介绍了自己和这本书,这本书共分为两个部分,第一部分是类似于叙事的方式,讲述了企业级应用程序设计中的一些重要议题;第二部分是以模式的方式组织成文,多数是一些定义性的内容。

      在今天的阅读中,我印象最深的一句话是:“模式只是一个有益的起点,而非最终的解决之道。” 任何情况下都需要做一些工作才能将它们应用到我们的程序中。

    简单列举一些模式:

      活动记录:包装数据库表或视图中的行、封装数据库访问、并将业务逻辑加到该数据上的对象。

      应用控制器:处理屏幕导航和应用流程的集中控制点。

      关联表映射:将关联存储方式表形式,并通过外键将之与相关的表链接起来。

      类表继承:表示了类的继承层次,每个类都对应一个表。

      客户会话状态:将会话状态存储于客户端。

      粗粒度锁:用一个锁,将一组相关对象都锁起来。

      具体表继承:表示了类的继承层次,层次重大而每一个具体类对应一个表。

      数据映射器:由映射器组成的一个层次,他在对象和数据库之间移动数据,并保证它们之间相互独立,映射器之间相互独立。

      数据传输对象:在进程间进行数据传递的对象,目的是减少进程间方法调用的次数。

      数据库会话状态:将会话状态作为提交的数据存储于数据库中。

      依赖映射:让一个类为一个子类进行数据库映射。

      领域模型:既包含行为,又包含数据的领域的对象模型。

      嵌入值:将一个对象映射到另一个对象的表的多个域中。

      外键映射:将对象间的一个关联映射成表间一个外键引用。

      前端控制器:处理Web站点钟所有请求的控制器。

      入口(Gateway):封装对外部系统或资源进行访问的对象。

      ……

    还有很多模式,就不一一列举了。

      这本书还讲了很多,他提到了“架构”一词,被人们赋予很多种定义,又很让人觉得只能意会不能言传,而在作者眼里,架构和他口中的层次相类似,都是涉及企业应用的重要组成部分和希望今早做出的决定。他还讲了关于企业应用和普通的软件,例如电信软件的区别:企业应用在某些方面比电信软件简单——多线程问题没有那么困难;但在有些方面又比电信软件复杂得多——涉及大量数据,而且有很多不合逻辑的业务规则。他还提到了企业应用的种类,举了三个例子,这三个例子在不同方面有不同的难提,因此很难找到很类似的解决方式,也不可能有一个适合于三者的体系架构,因此必须根据自己的了解和知识选择合适的设计。再提到性能方面,架构的设计和性能紧紧相关,我印象最深刻的就是:减少远程的调用。

      该书第一章就三个基本层次的架构展开讨论:表现层、领域层和数据层。

      表现层:提供服务,显示信息。

      领域层:逻辑,系统真正的核心。

      数据层:与数据库、消息系统、事务管理器及其他软件包通信。

    第二章同样将领域逻辑的组织分为三种主要的模式:事务脚本,领域模型以及表模块。保存领域逻辑最简单的方法是使用事务脚本即从表示层获得输入,进行校验和计算处理,将数据存储到数据库中以及调用其他系统的操作。

      第二章还给了一个领域逻辑复杂度的图,用来参考如何选择。

      第二章还介绍了服务层,服务层被独立了出来,只有使用领域模型或者表模块的时候才这样细分,因为只是用事务脚本的领域层并不复杂。作者的建议是:如果确实需要,尽可能的缩小服务层,如果不需要,最好让他不存在。

      时间短暂,只看了前两章,先记录一下!

      

  • 相关阅读:
    JSP中getParameter和getAttribute区别
    用jsp实现省市区三级联动下拉
    SQL
    Unity3d笔试题大全
    FPSCalc——简单FPS观测类
    GameObjectPool——Unity中的对象池
    MonoSingleton——Unity中的单例模式
    用非递归、不用栈的方法,实现原位(in-place)的快速排序
    一道有序洗牌的笔试题,阿里UC等都用过
    MFC中显示图像的放大、缩小、移动功能
  • 原文地址:https://www.cnblogs.com/zhangxinyue/p/14247524.html
Copyright © 2020-2023  润新知