(1)架构驱动力:捕捉和挑战一套复杂的非功能需求,还是简单地假设它们的存在
(2)设计软件:从零开始设计一个软件系统,还是扩展已有的。
(3)技术风险:证明你的架构能够工作,还是盲目乐观。
(4)架构演化:持续参与和演化你的架构,还是把它交给“实现团队”
(5)编写代码:参与交付的实践部分,还是袖手旁观。
(6)质量保证:保证质量并选择标准,还是反其道而行之或无所作为。
solid 设计原则
s - 单一职责
o - 开闭原则
l - 里氏替换原则
i - 接口隔离原则
d - 依赖倒置原则
单一职责含义: 一个类必须只有一个修改理由,只负责一件事,所以只因为这件事而修改。不要吧各种功能都混在一起。
开闭原则含义: 代码应该对拓展开放,对修改关闭。如果你要添加功能,请拓展该类而不是修改它。
里氏替换原则含义: 子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法;子类中可以增加自己特有的方法
接口隔离原则含义: 客户端不应该实现它不需要的方法。即将更大的接口拆分成更小和更具体的接口。主要针对抽象和程序整体框架的构建
依赖倒置原则含义:高层模块不能与底层模块耦合。高层模块不应该依赖低层模块,两者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。只要底层接口功能不变化,修改任何逻辑将不需要更新高层