1、面向对象对象 应用程序内的实体类 定义对象的属性(数据成员)和行为(成员函数) 构造函数:初始化对象状态 模板,利于复用方法 表示对象的行为 处理属性,实现功能2、面向对象的主要概念封装: 数据和方法的隐藏多态: 对象根据输入参数提供方法的不同实现 不同类型的对象可以使用相同的接口继承: 不同类的对...
原创
2022-02-18 10:09:24
177阅读
1、面向对象对象 应用程序内的实体类 定义对象的属性(数据成员)和行为(成员函数) 构造函数:初始化对象状态 模板,利于复用方法 表示对象的行为 处理属性,实现功能2、面向对象的主要概念封装: 数据和方法的隐藏多态: 对象根据输入参数提供方法的不同实现 不同类型的对象可以使用相同的接口继承: 不同类的对...
原创
2021-07-12 10:30:14
317阅读
Python中设计模式之外观模式主张以分多模块进行代码管理而减少耦合,下面用实例来进行说明。应用特性:在很多复杂而小功能需要调用需求时,而且这些调用往往还有一定相关性,即一调用就是一系列的。结构特性:把原本复杂而繁多的调用,规划统一到一个入口类中,从此只通过这一个入口调用就可以了。代
原创
2022-02-10 11:37:05
616阅读
P y t h o n 之 设 计 模 式 Python之设计模式 Python之设计模式
一 设计模式与面向对象介绍
二 面向对象设计原则
三 简单工厂模式
四 工厂方法模式
五 抽象工厂模式
六 建造者模式
七 单例模式
八 适配器模式
九 桥模式
十 组合模式
十一 外观模式
十二 代理模式
十三 责任链模式
十四 观察者模式
十五 策略模式
十六 模板方法模式
十七 设计模式总结
十八
原创
2021-08-04 20:43:37
149阅读
虽然设计模式与语言无关,但这并不意味着每一个模式都能在每一门语言中使用。《设计模式:可复用面向对象软件的基础》一书中有23个模式,其中有16个在动态语言中“不见了,或者简化了”。1、策略模式概述策略模式:定义一系列算法,把它们一一封装起来,并且使它们之间可以相互替换。此模式让算法的变化不会影响到使用算法的客户。电商领域有个使用“策略”模式的经典案例,即根据客户的属性或订单中的商品计算折扣。假如一个
转载
2020-02-27 20:00:41
693阅读
这几天太忙了,都没空写,所以持续了好几天。 1.策略模式的定义: 策略模式定义了算法族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。 通俗的讲,也就是将那些使用的方法风别封装成独立的类,然后将这一类使用接口统一管理起来,让需要使用这些方法的用户能够随时调用他们。 2
转载
2019-05-26 15:30:00
235阅读
2评论
1.为什么会出现状态模式? 在软件开发过程中,各种应用程序可能会根据不同的情况做出不同的处理。最直接的方案就是把所有的可能发生的情况都考虑到。然后使用条件语句(if...elseif...elseif......else)对不同情况的作出判断并进行处理。但是假如状态比较复杂,就会出现多个判断语句,判
转载
2019-05-20 14:29:00
52阅读
2评论
1.代理模式是什么? 为其他对象提供一种代理以控制对这个对象的访问 通俗的来讲代理模式就是我们生活中常见的中介 代理模式在日常生活中很常见,比如,你去杂货店买一个插座,而不是去生产插座的工厂去买。再比如,你去访问某个网站,你并没有访问权限,但你可以通过代理去访问这个网站,然后代理再把内容传给你。 2
转载
2019-05-15 17:01:00
100阅读
2评论
模板模式属于行为模式,通过模板方法来定义程序框架或算方法可以使用抽象类来定义算法步骤,由子类来实现算法中特定步骤适用场景1、当多个算法或类实现类似或相同逻辑的时候2、在子类中实现算法有助于减少重复代码的时候3、可以让子类利用覆盖事项行为来定义多个算法的时候主要意图1、适用基于操作
原创
2022-02-17 14:45:45
161阅读
不良设计不动性:应用程序难以重用刚性:任何小的修改都会导致软件的大多部分必须进行相应改动,牵一发动全身脆弱性:任何更改都会导致先有系统变得非常容易崩溃粘滞性:由于架构层面的修改非常困难,因此修改必须由开发人员在代码或环境本身中进行反模式分类软件开发反模式软件架构反模式软件开发反模式1、意大利面条式代码控制流程错综复杂2、金锤由于某个解决方案(技术,设计或模块)在多个项目...
原创
2021-07-12 10:30:15
357阅读
命令模式命令模式属于行为型模式行为型模式侧重于对象的响应性,利用对象之间的交互实现更强大的功能其中对象用于封装在完成一项操作或在触发一个事件时所需的全部信息:1、方法名称2、拥有方法的对象3、方法参数的值命令模式术语Command: 声明执行操作的接口ConcreteCommand:将一个Receiver对象和一个操作绑定在一起Receiver:创建ConcreteComman...
原创
2021-07-12 10:30:51
130阅读
工厂:表示负责创建其他类型对象的类优点:1、松耦合,对象的创建可以独立于类的实现2、客户端无需了解创建对象的类,但是可以使用它来创建对象。只需要知道需要传递的接口,方法和参数3、工厂中添加其他类来创建其他类型的对象,无需更改客户端代码4、工厂可以重用现有对象分类1、简单工厂模式允许接口创建对象,但不会暴露对象的创建逻辑2、工厂方法模式允许接口创建对象,但使用哪个类来创建对象,...
原创
2021-07-12 10:30:58
249阅读
状态设计模式属于行为模式一个对象可以基于其内部状态封装多个行为,状态模式也可以被看做是在运行时改变对象行为的一种方式状态设计模式的3个主要参与者1、State: 封装对象行为的接口,这个行为与对象的状态相关联2、ConcreteState: 实现State 接口的子类,ConcreteState 实现与对象的特定状态相关联的实际行为3、Context:定义了客户感兴趣的接口,Conte...
原创
2022-02-18 10:10:38
117阅读
命令模式命令模式属于行为型模式行为型模式侧重于对象的响应性,利用对象之间的交互实现更强大的功能其中对象用于封装在完成一项操作或在触发一个事件时所需的全部信息:1、方法名称2、拥有方法的对象3、方法参数的值命令模式术语Command: 声明执行操作的接口ConcreteCommand:将一个Receiver对象和一个操作绑定在一起Receiver:创建ConcreteComman...
原创
2022-02-18 10:11:31
49阅读
工厂:表示负责创建其他类型对象的类优点:1、松耦合,对象的创建可以独立于类的实现2、客户端无需了解创建对象的类,但是可以使用它来创建对象。只需要知道需要传递的接口,方法和参数3、工厂中添加其他类来创建其他类型的对象,无需更改客户端代码4、工厂可以重用现有对象分类1、简单工厂模式允许接口创建对象,但不会暴露对象的创建逻辑2、工厂方法模式允许接口创建对象,但使用哪个类来创建对象,...
原创
2022-02-18 10:12:56
235阅读
设计模式之状态模式--- python模拟实现工单状态流转
原创
2020-12-17 23:43:52
618阅读
状态设计模式属于行为模式一个对象可以基于其内部状态封装多个行为,状态模式也可以被看做是在运行时改变对象行为的一种方式状态设计模式的3个主要参与者1、State: 封装对象行为的接口,这个行为与对象的状态相关联2、ConcreteState: 实现State 接口的子类,ConcreteState 实现与对象的特定状态相关联的实际行为3、Context:定义了客户感兴趣的接口,Conte...
原创
2021-07-12 10:30:17
294阅读
模板模式属于行为模式,通过模板方法来定义程序框架或算方法可以使用抽象类来定义算法步骤,由子类来实现算法中特定步骤适用场景1、当多个算法或类实现类似或相同逻辑的时候2、在子类中实现算法有助于减少重复代码的时候3、可以让子类利用覆盖事项行为来定义多个算法的时候主要意图1、适用基于操作定义算法的框架2、重新定义子类的某些操作,而无需修改算法的结构3、实现代码重用并避免重复工作4、利用...
原创
2021-07-12 10:30:21
203阅读
一、代理模式代理,通常就是一个介于寻求方和提供方之间的中介系统设计模式中,代理充当实际对象接口的类二、使用场景1、以简单的方式表示一个复杂系统2、提高现有实际对象的安全性3、为不同服务器上的远程对象提供本地接口4、为消耗大量内存的对象提供一个轻量级的句柄三、代理模式的优点1、代理模式可以通过缓存笨重的对象或频繁访问的对象来提高应用程序的性能2、代理还提供对于真实主题的访问授权...
原创
2021-07-12 10:30:54
445阅读
不良设计不动性:应用程序难以重用刚性:任何小的修改都会导致软件的大多部分必须进行相应改动,牵一发动全身脆弱性:任何更改都会导致先有系统变得非常容易崩溃粘滞性:由于架构层面的修改非常困难,因此修改必须由开发人员在代码或环境本身中进行反模式分类软件开发反模式软件架构反模式软件开发反模式1、意大利面条式代码控制流程错综复杂2、金锤由于某个解决方案(技术,设计或模块)在多个项目...
原创
2022-02-18 10:09:34
411阅读