前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python设计模式(六大)

Python设计模式(六大)

作者头像
超蛋lhy
发布2018-08-31 14:16:53
6030
发布2018-08-31 14:16:53
举报
文章被收录于专栏:PythonistaPythonista

1.外观模式(Facade)

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

2.六大设计原则

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

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

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

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

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

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

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

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

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

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

  • 开闭原则 (Open Closed Principle)

软件实体应该对扩展开放,对修改关闭其含义是说一个软件实体应该通过扩展来实现变化,而不是通过修改已有的代码来实现变化。 稳定性:开闭原则要求扩展功能不修改原来的代码,这可以让软件系统在变化中保持稳定。 扩展性:开闭原则要求对扩展开放,通过扩展提供新的或改变原有的功能,让软件系统具有灵活的可扩展性。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-04-16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.外观模式(Facade)
  • 2.六大设计原则
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档