1 团队的构建比环境的构建重要得多。许多团队和管理者就犯了先构建环境,然后期望团队自动凝聚在一起的错误。相反,应该先致力于构建团队,然后再让团队基于需求来配置环境。
2 拙劣设计的症状:
僵化性(Rigidity):设计难以改变。很难改动,每个改动都会迫使许多对系统其他部分的其他改动。
脆弱性(Fragility):设计易于遭到破坏。对系统的改动会导致系统中和改动的地方在概念上无关的许多地方出问题。
牢固性(Immobility):设计难以重用。难以解于系统的纠结,使之在其他系统中重用。
粘滞性(Viscosity):难以做正确的事情。
不必要的复杂性(Needless Complexity):过分设计。设计中包含有不具任选直接好处的基础结构。
不必要的重复(Needless Repetition):滥用鼠标。包含有重复的结构,该重复的结构本可以使用单一的抽象进行统一。
晦涩性(Opacity):混乱的表达。很难阅读、理解。
3 原则:
单一职责原则 SRP
开放-封闭原则 OCP
Liskov替换原则 LSP
依赖倒置原则 DIP
接口隔离原则 ISP