架构设计的目标:
减少重复代码
重复是万恶之源!这是从结构化程序设计时代就存在的格言,在面向对象时代依然是金玉良言。
方便理解逻辑
清晰简洁的结构能够让人以最快的速度理解和掌握程序代码的逻辑,因此也就便于维护和扩展。
适应需求变化
因此有了各种设计模式,大多都是针对某种需求发生变化的可能性而提出。
便于分工协作
基于这个要求和上一点,所以才要求面向接口而非面向实现。
总的来讲,所有的设计,最终的目标都是一样的,第一:优化;第二:简化;只不过事物的复杂性是多方面的,架构设计的最终任务就是针对不同方面的复杂性分别进行优化和简化。
数据库结构设计和架构设计的关系:
很多人都精于数据库结构设计,精通数据库设计范式,其实数据库结构设计就是软件架构设计中一个重要部分,但是很多人把另一个部分:“程序结构设计”误认为是架构设计的全部,但不论如何,两者之间有一些相通的地方,比如数据结构设计是为了减少冗余的数据,而程序结构设计的第一个目标就是减少冗余代码,只要想通这一点,很多数据库设计老手就能迅速掌握架构设计的方法了。