zoukankan      html  css  js  c++  java
  • Python设计模式(六大)

    1.外观模式(Facade)

    一层一层向上封装,灵活性会降低,功能完成度高,和python的模块比较像,但对于封装好了的类,将会变得很简单,简洁。

    2.六大设计原则

    • 单一职责原则 (Single Responsibility Principle)

    一个类直负责一项职责(操作)。一个类,只应该有一个引起它变化的原因。

    • 里氏替换原则 (Liskov Substitution Principle)

    所有引用基类的地方必须能透明地使用其子类的对象。(子类父类)

    • 子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法;
    • 当子类的方法重载父类的方法时,子类方法的输入参数要比父类方法的输入参数更宽松;(格式等要求上)
    • 依赖倒置原则 (Dependence Inversion Principle)

    定义:抽象不应该依赖于细节,细节应当依赖于抽象。要针对接口编程,而不是针对实现编程。尽量引用层次高的抽象层类,即使用接口和抽象类进行变量类型声明、参数类型声明、方法返回类型声明,以及数据类型的转换等,而不要用具体类来做这些事情。依赖倒置原则的本质就是通过抽象(接口或抽象类)使各个类或模块的实现彼此独立,不互相影响,实现模块间的松耦合。需要注意以下一些地方:

    • 每个类尽量都有接口或抽象类,或者抽象类和接口两者都具备;
    • 变量的表名类型尽量是接口或者抽象类;
    • 尽量不要覆写基类的方法;
    • 结合里氏替换原则使用;
    • 接口隔离原则 (Interface Segregation Principle)

    客户端不应该依赖它不需要的接口,一个类对另一个类的依赖应该建立在最小的接口上。 当一个接口太大时,分割成一些更细小的接口,使用该接口的客户端仅需知道与之相关的方法即可。每一个接口应该承担一种相对独立的角色,不干不该干的事,该干的事都要干。(类似于单一职责)

    • 接口隔离原则与单一职责原则的审视角度是不相同的,单一职责原则要求的是类和接口职责单一,注重的是职责,这是业务逻辑上的划分,而接口隔离原则要求接口的方法尽量少。
    • 实际中接口的功能按实际需求定义,接口太大太小都不太好。
    • 迪米特原则 (Law of Demeter)

    定义:一个对象应该对其他对象有最少的了解。两个对象耦合尽量少

    • 开闭原则 (Open Closed Principle)

    软件实体应该对扩展开放,对修改关闭其含义是说一个软件实体应该通过扩展来实现变化,而不是通过修改已有的代码来实现变化。

    稳定性:开闭原则要求扩展功能不修改原来的代码,这可以让软件系统在变化中保持稳定。

    扩展性:开闭原则要求对扩展开放,通过扩展提供新的或改变原有的功能,让软件系统具有灵活的可扩展性。

  • 相关阅读:
    Ionic app 通知在Moto 360 Watch上显示通知(2)
    Ionic app 通知在Moto 360 Watch上显示通知(1)
    Ionic App ActionSheet布局问题
    Ionic 图片延时加载
    Ionic app 上传图片之webApi接口
    Ionic app升级插件开发
    Ionic 添加java原生代码 报support.v4不存在问题
    Ionic 中badge的应用
    Java 期末复习提纲
    win10 + VS2015 + EF6 + MySQL
  • 原文地址:https://www.cnblogs.com/pyyu/p/8858224.html
Copyright © 2011-2022 走看看