1软件架构设计模式与实践康凯目录•软件架构视图•软件生命周期与软件架构介绍•架构设计的GRASP模式•质量属性驱动架构设计策略•软件架构模式分析及其实际运用•架构设计原则•面向对象的设计原则•架构设计验证•数据访问层设计(持久层设计)•借鉴RUP中的设计流程•领域模型及业务逻辑层在架构设计中的实现•设计模式本质•SOA的设计思想•软件架构实践•软件系统架构实践与剖析前言软件系统开始坏死的症状•一个软件系统开始坏死时表现的症状有:–硬化Rigidity——系统变得越来越难以变更,修复或增添新功能的代价高昂;–脆弱Fragility——对系统的任何哪怕是微小的变更都可能造成四处(甚至是与变更处没有逻辑上的关联之处J崩溃;–绑死Immobility——抽取系统的任何部分用来复用都非常困难;–胶着Viscosity——以与原有设计保持一致的方式来对实施变更已经非常困难,诱使开发人员绕过它选择容易但有害的途径,其结果却使系统死的更快
•什么是软件架构–软件架构的概念很混乱
如果你问五个不同的人,可能会得到五种不同的答案
–软件架构概念主要分为两大流派:•组成派:软件架构=组件+交互
•决策派:软件架构=重要决策集
–组成派和决策派的概念相辅相成
•软件架构要层次化并隔离关注点–复杂性是层次化的
--《人月神话》–好的架构设计必须把变化点错落有致地封装到软件系统的不同部分(即关注点分离)
–通过关注点分离,达到“系统中的一部分发生了变化,不会影响其他部分”的目标
•软件单元的粒度:–粒度最小的单元通常是“类”
–几个类紧密协作形成“模块”
–完成相对独立的功能的多个模块构成了“子系统”
–多个子系统相互配合才能满足一个完整应用的需求,从而构成了软件“系统”
–一个大型企业往往使用多套系统,多套系统通过互操作形成“集成系统”
–软件单元的粒度是相对的
同一个软件单元,在不同场景下我们会以