<企业应用架构形式>3 之分层
企业应用架构模式3 之分层企业应用架构模式3 之分层分层的本质责任分离,体现了分而自治设计,公司的部
<企业应用架构模式>3 之分层
<企业应用架构模式>3 之分层
分层的本质责任分离,体现了分而自治设计,公司的部门结构又异曲同工之妙,提到分层常常伴随的会出现两个名词,Tier,Layer ,一个物理上的,一个逻辑上的。
现在我们编写的企业应用,2Layer的,有3Layer,两2Layer像老的财务软件(C\S),新的3Layer或者大于三层(B/S的应用),我觉得大学毕业做的学生管理系统打者3Layer的幌子,行的是2Layer的实。
关于3Layer,大家传统的分为:
表现层:负责界面展示
业务逻辑:这个词汇在序言里,是“很没有逻辑”的代名词,就是这个拿到数据怎样加工处理。
数据层:负责数据的存取。
我们尽量做到区分出层来,理解就是区分出来责任,刚开始的时候,书中提到了最起码的形式上要分离,这样在系统膨胀的时候不至于推倒重来。分离出层的做好遵循一个法则,就是不能越层互动,就像大楼2层是1层、3层的纽带,1层的天花板是2层的地面,3层的地面是2层的天花板。楼高10米的大楼,是1层高点,还时2层低了点,这个的因素就不经相同了。其实我们的设计者包括开发最为迷惑的地方在此。“我们的B/S产品的业务逻辑是应该JS多些呢?后台多一些呢?”一直也困扰我这些人的地方。
关于Web的好处,“无需考虑不同客户端和服务器同步的问题”,我觉得这个有些需值得再“斟酌”,浏览器的缓冲问题需要有待解决,这个不解决其实Web端的与C/S并没有什么差别,前些日子看《高效Web开发进阶》讲雅虎的处理方式是在改变URL,来让缓冲失效的。刚才在班车上看第五个法则,CSS放到上面、JS放到下面就是防止空白的出现,这样在视觉“欺骗”我的眼睛。