Head First Design Patterns 读后感二 设计原则

Head First Design Patterns 读后感2 设计原则
1。软件开发中唯一一个不变的是 变化。大千世界,千奇百怪,行行色色,光影陆离,瞬息万变,然而这些在这些变化中我们总是能找到不变的东西,只有找到不变的东西,我们才可以以不变应万变,才能不被万物所累,超脱万物,以不变应万变才处理万物的不二法门。
2。分离开不变的和变化的,把不变的封装在一起,把变化的封装在一起。好比这个社会,把坏人犯了法的人都封闭在*里,这样才容易管理,而把变化的封装在一起也容易处理
3。针对接口变成,不是针对实现编成。现实中好的公司管理,领导在于不在,都可以很好的运行,这就是公司针对某个管理角色管理,不是针对某个人管理。接口其实是抽象和规律,就是针对规律编程,只有规律是变化比较少的,这样也就 找到变化中不变,其实就是又变易中找到了不易,这也就是针对不易编程,这样我们的程序也就变得简易了。现实生活中,有时候我们处理问题 也不能就事论事,而必须找出事物的规律来处理问题,这样才能真正把事情处理好,道理是相同的。
4。多用组合,少用继承。 现实社会中新型公司都是组合型的公司,这里的主要领导来自世界各地,他们组合在一起成立了一个公司,这种公司一般寿命比较长,而且管理科学规范。而家族式公司,往往很难长久,这种公司都是后辈继承父辈产业,这种公司关系复杂,管理混乱。共和制国家一般比较*,尊重*,因此共和制国家更加长久,而封建专制国家领导权一般是继承,这种国家一般比较垄断,人们*比较少,这种政权肯定会彻底消失。排列组合,无穷尽也。仅仅一百多种元素就组成这个世界千奇百怪的世界,同样的碳原子,由于排列的不同,组成了煤炭,石煤,金刚石三种物质。因此排列组合大有学问。
5。开闭原则,对扩展开放,对修改关闭。把可能变化的部分应用开闭原则,每个地方应用开闭是浪费。针对变化开放,针对不变关闭。周易有,变易,不易,简易,其实也是 要分离出变易的,不易的,分离的这些变易和不易 直到简易为止。
6。单一职责 原则,要求每个功能块职责要单一,这样其实也就是周易的简易。现实生活中如果要想把事情办好必须在某一个时间地点单位处理某一个事情,这样是单一职责。一个类应该只有一个引起变化的原因。类的每个责任都有变化的潜在区域。超过一个责任,意味着超过一个改变的区域。尽量让每个类保持单一责任。
7。依赖倒置原则。依赖抽象不要依赖具体类。具体类依赖抽象类,而不是抽象类依赖具体类。底层依赖高层,高层不依赖底层。现实中 领导不依赖员工,员工依赖领导。抽象本身就是一种规律,处理事情要靠规律办事,没有规律依靠于具体事情。
  如何做到 a。变量不可以持有具体类的引用,比如 new
              b。类不能派生至具体类。
              c。不要覆盖基类已经实行的方法。
8。好莱坞原则。高层对待底层组件的方式时 “别调用我们,我们会调用你们”。
   依赖倒置原则教我们尽量避免使用具体类,而使用抽象。好莱翁原则是创建框架和组件的一个技巧,好让底层比挂钩组件被挂钩进计算中,而又不让高层依赖具体底层组件。