设计模式
文章平均质量分 91
伟伟哦
我只是一名小学生 能力一般 水平有限 一直抱着学习的态度
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
面向对象、设计原则、设计模式、编程规范、重构,这五者有何关系?
设计原则面向对象设计原则设计模式1. 创建型2. 结构型行为型编程规范代码重构五者之间的联系重点回顾 面向对象 面向对象编程因为其具有丰富的特性(封装、抽象、继承、多态),可以实现很多复杂的设计思路,是很多设计原则、设计模式编码实现的基础。 面向对象的四大特性:封装、抽象、继承、多态 面向对象编程与面向过程编程的区别和联系 面向对象分析、面向对象设计、面向对象编程 接口和抽象类的区别以及各自的应用场景 基于接口而非实现编程的设计思想 多用组合少用继承的设计思想 面向过程的贫血模型和面向对象的充血模型设计原原创 2020-12-16 09:30:53 · 293 阅读 · 0 评论 -
php 单例模式
在面向对象中,一个对象只负责一个特定的任务通常是一种很好的选择。例如:你只想让一个对象去访问数据库。单例模式是一种职责模式,他将创建的对象委托到一个单一的访问点上。在任何时候,应用程序中都只有这个类仅有的一个实例存在。这可以防止我们去打开数据库的多个连接或者不必要使用多余的系统资源。在更加复杂的系统中,使用单例模式在维持应用程序状态同步方面也尤为重要。 PS:同步一般是对于语言多线程方面的应用,P...原创 2020-12-17 00:41:39 · 222 阅读 · 0 评论 -
什么是耦合、解耦
一、耦合 1、耦合是指两个或两个以上的体系或两种运动形式间通过相互作用而彼此影响以至联合起来的现象。 2、在软件工程中,对象之间的耦合度就是对象之间的依赖性。对象之间的耦合越高,维护成本越高,因此对象的设计应使类和构件之间的耦合最小。 3、分类:有软硬件之间的耦合,还有软件各模块之间的耦合。耦合性是程序结构中各个模块之间相互关联的度量。它取决于各个模块之间的接口的复杂程度、调用模块的方式以及哪些信...转载 2020-01-30 21:15:50 · 1146 阅读 · 0 评论 -
python 策略模式
内容: 定义一系列算法,把他们一个个封装起来,并且使它们可相互替换,本模式使得算法可独立于使用它的客户而变化 角色 抽象策略(Strategy) 具体策略(ConcreteStrategy) 上下文(Context) ...原创 2019-11-18 20:02:41 · 241 阅读 · 1 评论 -
python 观察者模式
内容: 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新,观察者模式又称"发布-订阅"模式 角色 抽象主题(Subject) 具体主题(ConcreteSubject) --发布者 抽象观察者(Observer) 具体观察者(ConcreteObserver) --订阅者 ...原创 2019-11-18 19:22:23 · 297 阅读 · 0 评论 -
python 行为型模式 责任链模式
内容: 使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系.将这些对象连城一条链,并沿着这条链传递该请求,直到有一个对象处理它为止 角色 抽象处理者(Handler) 具体处理者(ConcreteHandler) 客户端(Client) ...原创 2019-11-18 17:45:49 · 222 阅读 · 0 评论 -
python 代理模式
内容: 为其他对象提供一种代理以控制对这个对象的访问 应用场景: 远程代理:为远程的对象提供代理 虚代理: 根据需要创建很大的对象 保护代理: 控制对原始对象的访问,用于对象有不同访问权限时 ...原创 2019-11-18 16:26:10 · 168 阅读 · 0 评论 -
python 外观模式
内容: 为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一系统更加容易使用 角色 外观 (facade) 子系统类(subsystem classes) #子系统 class CPU: def run(self): print("CPU开始运行") def stop(self): ...原创 2019-11-13 18:51:51 · 238 阅读 · 0 评论 -
python 组合模式
内容: 将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性 角色 抽象组件(Component) 叶子组件(Leaf) 复合组件(Composite) 客户端(Client) from abc import ABCMeta, abstractmethod #抽象组件 #统一的方法都有这个接口 class Graphic(metaclas...原创 2019-11-13 18:31:10 · 273 阅读 · 0 评论 -
python 结构型模式 桥模式
内容; 将一个事物的两个维度分离,使其都可以独立的变化 例子:画图有一些形状,支持长方形、直线和圆,,每个形状都画个不同的颜色,这个就是一个事物两个维度 第一个维度是形状 第二个我都是颜色 第一有两个维度是独立的,第二必须是都有的 from abc import ABCMeta, abstractmethod #形状类,形状 组合方式 class Shape(metaclass=ABCMeta...原创 2019-11-08 16:15:38 · 290 阅读 · 0 评论 -
python 结构型模式 适配器模式 组合
内容: 将一个类的接口转换成客户希望的另一个i接口,适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作 两种实现方式 类适配器:使用多继承 对象适配器: 使用组合 ...原创 2019-11-08 14:28:50 · 180 阅读 · 0 评论 -
python 单例模式
内容: 保证一个类只有一个是咧,并提供一个访问的全局问点 角色 单例(Singleton) 优点: 对唯一实例的受控访问 单例相当于全局变量,但防止了命名空间被污染 ...原创 2019-11-08 11:48:19 · 143 阅读 · 0 评论 -
python 建造者模式
内容: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表实 角色 抽象建造者(Builder) 具体建造者(Concrete Builder) 指挥者(Director) 产品(Product) ...原创 2019-11-08 11:01:59 · 162 阅读 · 0 评论 -
python 抽象工厂模式
内容: 定义一个工厂类接口,让厂子子类来创建一系列相关或相互依赖的对象 例子:生产一部手机,需要手机壳、cpu、操作系统三类对象进行组装,其中每类对象有不同的种类,对每个具体工厂,分别生产一部手机所需要的三个对象 相比工厂方法模式,抽象工厂模式中的每个具体工厂都生产一套产品 ...原创 2019-11-07 18:20:15 · 180 阅读 · 0 评论 -
python 工厂模式
内容: 定义要给用于创建对象接口(工厂接口),让子类决定实例化哪一个产品类 角色: 抽象工厂角色(Creator) 具体工厂角色(Concrete Creator) 抽象产品角色(Product) 具体产品角色(Concrete Product) 工厂 创建对象 1个工厂 生产一个产品 每个产品有自己对应工厂就可以了 from abc import ABCMeta,abstractmethod ...原创 2019-11-07 17:06:24 · 155 阅读 · 0 评论 -
python 创建型模式简单工厂模式
创建对象原创 2019-10-31 18:40:58 · 147 阅读 · 0 评论
分享