JAVA架构之完美设计:实战经典 (摘草)

架构在 Java 世界里由一些类或接口组成,正是这些类或接口为应用程序骨架提供了
个可重用的设计(应用程序中的一层或几层)。架构调用业务开发者写的应用程序,从而实
现对程序流程的控制。

1.研发过程带来的利益

(1)开发更加高效

屏蔽技术底层细节,开发者只需要写出相应的业务代码而不需要接触底层的 API, 这让
程序员更加关注具体业务的实现。

(2) 降低沟通成本

不同视图定位于不同涉众的关注点,降低了不同相关人员的沟通成本。

(3) 便于组织和项目管理

便于团队分工合作与管理,在变更中保持概念的完整性。

(4)保证设计品质

架构是应用程序开发与设计最基础的技术依据,因此对设计也有一定的制约作用,可防
止设计的过度自由,保证设计的整合与统一,从而提高设计品质。

(5)融合需求变更

框架实际上也是一种规范,可以让每次参与项目的程序员保持统一的架构思想与编码风
格,从而保证了软件品质

(6) 提高可测试性

良好的架构更容易诊断、跟踪与发现故障。

2.软件自身带来的利益

(1)延长系统寿命

降低软件的熵(软件坏死的因素),使其更容易维护与升级。

(2)增加可重用性

架构设计考虑了系统替换规则,注重各种粗细力度的可重用性设计。

3. 经济角度带来的利益

(1)降低软件费用

可以更加精确地估算成本,同时降低研发成本以及维护成本。

(2)降低开发风险

先期的架构开发,排除了技术开发的关键风险。

(3) 控制复杂程度

经过良好设计的架构可以为程序提供清晰的结构并提高程序的内聚性。清晰的结构可以
使其他人更容易融人项日。易用的架构可以通过例子和文档为用户提供最佳实践。

(4) 提高可预见性

架构的投资发生在系统开发的早期阶段,但是架构所带来的收益却发生在业务开发与维
护阶段。
架构能带来如此多元化的利益,因此在软件开发中占有非常重要的地位。但是,要防止

进行过度架构设计而造成资源浪费,应设计出与系统自身体量与复杂度相应的软件架构。而
如何进行巧妙的设计正是架构师的核心价值所在。