今天又看了阎宏的《软件的架构与设计模式之层次原则》,结合自己在项目中的架构设计经验来,整理感悟如下:
1、Bulit for Change,好的建筑都是为变化而设计的。
我想,文中说这句话的意思是想说,好的软件架构设计也是为变化而设计的。用户的需求日新月异,千变万化,大的项目一般都会有第一期、第二期、第三期……。怎样才能让自己的架构设计能满足不断变化的用户需求呢?“为变化而设计”,应该是解决这个问题的战略方针。
怎样才能像贯穿三个代表一样来实现这个“为变化而设计”这个战略级方针呢?----分层。分层就是我们实现战略目标的战术、战斗方法。而怎样来实施分层呢?
2、分层的方法和步骤。
a、首先要确定软件的生命周期。我们应该避免为一个五分钟的问题提供一个五十年的解决方案,也不要为一个50年的问题提桶一个5分钟的解决方案。我们在实际开发过程中发现,每个项目都有它的生命周期,有一年的,两年的,五年的,十年的,也有一天的,甚至5分钟的。我们应该根据软件的生命周期来设计。
b、确认软件中变和不变的因素,并根据变化频度进行分类。
c、依据变化频度的分类进行层次划分,并标出各个层次的依赖关系。
d、对不变的部分,设计的稳固、牢靠。对变化的部分,根据变化的频度设计的其灵活性。
posted on 2005-08-03 11:06
coffee 阅读(3029)
评论(1) 编辑 收藏 所属分类:
技术随笔