随笔分类 -  设计模式

摘要:面向对象程序应该 对扩展开放,对更改封闭。 如果更改代码,要重新编译,重新测试,重新部署,会附带很多其他操作。 python可以使用鸭子模式,进行多态调用。 如下, a和b可以独立变化,不影响以下代码的稳定: self.x = a self.x.duck() self.x = b self.x.du 阅读全文
posted @ 2023-01-04 09:06 道友请留步W 阅读(18) 评论(0) 推荐(0) 编辑
摘要:# conf.py import os import sys import inspect from abc import ABCMeta, abstractmethod class ConfBase(metaclass=ABCMeta): @abstractmethod def read(self 阅读全文
posted @ 2022-08-11 10:31 道友请留步W 阅读(37) 评论(1) 推荐(0) 编辑
摘要:定义: 定义一系列算法, 把他们一个个封装起来, 并且使他们可互相替换(变化). 模式使得算法可独立于使用它的客户程序(稳定)而变化(扩展,子类化). 理解: 比如说要读取配置文件,有好几种配置文件,json,yaml,xml,以后可能还要扩展, 可以将每种文件类型都设计为一个类,每个类中都有一个r 阅读全文
posted @ 2022-08-08 15:33 道友请留步W 阅读(8) 评论(0) 推荐(0) 编辑
摘要:定义: 在一个方法中定义了一个算法的骨架或者步骤,而将一些步骤延迟到子类中去实现。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某一些步骤 自己理解: 在父类中设计好整体框架,比如调用顺序,将可扩展可改变写作虚函数,让子类自己去实现或重写。 在不改变程序整体结构的情况下,改变了程序的 阅读全文
posted @ 2022-08-08 15:24 道友请留步W 阅读(19) 评论(0) 推荐(0) 编辑
摘要:Dependence Inversion Principle:依赖倒置原则 Single Responsibility Principle:单一职责原则 Open Closed Principle:开闭原则 Liskov Substitution Principle:里氏替换原则 Law of De 阅读全文
posted @ 2022-08-08 15:09 道友请留步W 阅读(8) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示