• 设计模式(一)


    设计模式(一)

    1.开闭原则:软件实体应当对外扩展开放,对修改关闭(修改程序是:增加新功能,不准修改原来的程序代码,只能增加新的代码)

    2.里氏替换原则:所有引用基类的地方必须能透明的使用其子类的对象;(不能修改父类,我们可以抽象出来一个类 ,让其他物体都继承它)

    在面向对象中,继承有很多优点:

           1)代码共享,减少创建类的工作量,每个子类都拥有父类的方法和属性;

           2)提高代码的重用性;

           3)子类可以形似父类,但又异于父类,“龙生龙,凤生凤,老鼠生来会打洞”是说子拥有父的“种”,“世界上没有两片完全相同的叶子”是指明子与父的不同;

           4)提高代码的可扩展性,实现父类的方法就可以“为所欲为”了,君不见很多开源框架的扩展接口都是通过继承父类来完成的;

           5)提高产品或项目的开放性。

    3.依赖倒转原则:依赖倒转原则就是要求客户端依赖于抽象耦合。表述是:抽象应该不依赖于细节,细节应该依赖于抽象;另一种表述:要针对接口编程,不要依赖实现编程。抽象耦合是依赖倒转原则的关键,历史替换原则是依赖倒转原则的基础(历史替换下次讲到)

           1)依赖:A use a B ,那么A对B产生了依赖

          2)依赖关系的种类:

                *:零耦合关系:如果两个类中没有耦合关系,称为零耦合

                 

                        *:具体耦合关系:发生在两个具体的类(可实例化)之间,由一个类对另一个类的直接引用造成的;

             

               *:抽象耦合关系:抽象耦合关系发生在一个具体类和一个抽象类(接口)之间,使两个必须发生关系的类之间存在最大的灵活性

                

     在实际编程中,我们一定要做到一下3点:

    • 低层模块尽量都要有抽象类或接口,或者两者都有。
    • 变量的声明类型尽量是抽象类或接口。
    • 使用继承时遵循里氏替换原则。
    我们什么都没有,唯一的本钱就是青春。梦想让我与众不同,奋斗让我改变命运!
  • 相关阅读:
    http修改443端口,http 强制跳转https
    线程event事件函数实现红绿灯
    信号量设置
    多线程简单实例
    paramiko 实现ssh登录和sftp登录
    在同一台电脑安装python 2 和3,并且怎样安装各自的pip和模块
    ThreadingTCPServer 如何设置端口重用
    Python 变量比较
    python 多线程 并发socket实例
    python 中变量引用问题
  • 原文地址:https://www.cnblogs.com/mengmengxia/p/6822020.html
Copyright © 2020-2023  润新知