1.可放封闭原则
概念:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。即软件实体应该尽量在不修改原有代码的情况下进行扩展
2.里式替换原则
概念:所有引用父类的地方必须能透明地使用其子类的对象
3.依赖倒置原则
概念:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不依赖细节;细节应该以来抽象;换言之,要针对接口编成,而不是针对实现编成。
4.接口隔离原则
概念:使用多个专门的接口,而不使用当一的总接口,即客户端不依赖那些他不需要的接口。
举个例子:
from abc import ABCMeta, abstractmethod
class Animal(metaclass=ABCMeta):
@abstractmethod
def walk(self):
pass
@abstractmethod
def swim(self):
pass
@abstractmethod
def fly(self):
pass
class Tiger(LandAnimal):
def walk(self):
print("老虎走路")
def swim(self):
pass
def fly(self):
pass
比如创建一个动物类,它同时拥有走路,游泳,飞三种功能,那么老虎类继承了动物类,则其中就会实现一些它本不属于的方法。因此可以将动物类分成地上走的,水里游的,天空飞的三个类,然后分别继承它。
from abc import ABCMeta, abstractmethod
class LandAnimal(metaclass=ABCMeta):
@abstractmethod
def walk(self):
pass
class WaterAnimal(metaclass=ABCMeta):
@abstractmethod
def swim(self):
pass
class SkyAnimal(metaclass=ABCMeta):
@abstractmethod
def fly(self):
pass
class Tiger(LandAnimal):
def walk(self):
print("老虎走路")
class Frog(LandAnimal,WaterAnimal):
def walk(self):
print("青蛙在跳")
def swim(self):
print("青蛙在游泳")
比如青蛙是两栖动物,则它就同时拥有走路和游泳两个功能,因此可以多继承。文章来源:https://www.toymoban.com/news/detail-604017.html
5.单一职责原则
概念:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。文章来源地址https://www.toymoban.com/news/detail-604017.html
6.设计模式分类
- 创建型模式(5):
- 工厂方法模式
- 抽象工厂模式
- 创建者模式
- 原型模式
- 单例模式
- 结构型模式(7):
- 适配器模式
- 桥接模式
- 组合模式
- 装饰模式
- 外观模式
- 享元模式
- 代理模式
- 行为型模式(11):
- 解释器模式
- 责任链模式
- 命令模式
- 迭代器模式
- 中介者模式
- 备忘录模式
- 观察者模式
- 状态模式
- 策略模式
- 访问者模式
- 模板方法模式
到了这里,关于2.python设计模式【面向对象设计的SOLID原则 基础概念】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!