设计原则

设计原则:

       1.找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。把会变化的部分取出并“封装”起来,好让其他部分不会受到影响。

       2.针对接口编程,而不是针对实现编程。

       3.多用组合,少用继承。使用组合建立系统具有很大的弹性,不仅可以将算法族封装成类,更可以“在运行时动态地改变行为”,只要组合的行为对象符合正确的接口标准即可。

       4.为了交互对象之间的松耦合设计而努力。松耦合的设计之所以能让我们建立有弹性的OO系统,能够应对变化是因为对象之间的互相以来降到了最低。

        5.类应该对扩展开放,对修改关闭。我们的目标是允许类容易扩展,在不修改现有代码的情况下,就可搭配新的行为。如能实现这样的目标,有什么好处呢?这样的设计具有弹性可以应对改变,可以接受新的功能来应对改变的需求。

        6.依赖倒置原则:要依赖抽象,不要依赖具体类。这个原则说明了,不能让高层组件依赖低层组件,而且,不管高层或底层组件,“两者”都应该依赖于抽象。

          遵循依赖倒置原则指导方针: 1.变量不可以持有具体的引用。(如果使用new,就会持有具体类的引用,你可以改用工厂来避开这样的做法)

                                                       2.不要让类派生自具体类(如果派生自具体类,你就会依赖具体类,请派生自一个抽象(接口或抽象类))

                                                       3.不要覆盖基类中已实现的方法。(如果覆盖基类实现的方法,那么你的基类就不是一个真正适合被继承的抽象,基类中已实现的方法,应该有所有的子类共享)

         7.最少知识原则(德墨忒耳法则【Law of Demeter】):只和你的密友谈话。

         8.好莱坞原则:别调用(打电话给)我们,我们会调用(打电话给)你。

        9.类应该只有一个改变的理由。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 面向对象的3个基本要素: 封装、继承、多态 面向对象的5个基本设计原则: 单一职责原则(Single-Respos...
    badcyc阅读 890评论 0 4
  • 什么是面向对象技术 面向对象技术是一种以对象为基础,以事件或消息来驱动对象执行处理的程序设计技术 面向对象有哪些特...
    CyrusChan阅读 1,588评论 0 1
  • 1.0 Design Smells 糟糕设计的症状【Symptoms of Poor Design】 Rigidi...
    siriusing阅读 1,081评论 0 0
  • Python6大设计原则 阅读目录 内容总览 六大设计原则都有哪些 一、单一职责原则 二、里氏替换原则 三、依赖倒...
    tomtiddler阅读 1,553评论 0 0
  • -尝试着平淡,无趣的创作 可乐在我的旧水杯子里 她翻动着体内的气泡 哔哔啵啵地自说自话 我试图忽视她与我的交谈 每...
    旱獭阅读 245评论 0 2