
设计模式
文章平均质量分 92
设计模式
轻松的小希
逢山开路,遇水搭桥
展开
-
设计模式:行为型-责任链模式
目录第一章 责任链模式介绍第二章 责任链模式实现2.1、抽象处理者2.2、具体处理者2.3、最终测试类第三章 责任链模式应用项目地址:https://gitee.com/caochenlei/design-pattern第一章 责任链模式介绍责任链模式的介绍:在现实生活中,一个事件需要经过多个对象处理是很常见的场景。例如,采购审批流程、请假流程等。公司员工请假,可批假的领导有部门负责人、副总经理、总经理等,但每个领导能批准的天数不同,员工必须根据需要请假的天数去找不同的领导签名,也就是说员工必原创 2021-04-11 21:06:49 · 1735 阅读 · 35 评论 -
设计模式:行为型-策略模式
目录第一章 策略模式介绍第二章 策略模式实现2.1、抽象策略2.2、具体策略2.3、环境类2.4、测试类第三章 策略模式应用项目地址:https://gitee.com/caochenlei/design-pattern第一章 策略模式介绍策略模式的介绍:在现实生活中常常遇到实现某种目标存在多种策略可供选择的情况,例如,出行旅游可以乘坐飞机、乘坐火车、骑自行车或自己开私家车等,超市促销可以釆用打折、送商品、送积分等方法。在软件开发中也常常遇到类似的情况,当实现某一个功能存在多种算法或者策略,原创 2021-04-11 19:01:30 · 684 阅读 · 31 评论 -
设计模式:行为型-状态模式
目录第一章 状态模式介绍第二章 状态模式实现2.1、环境类2.2、抽象状态类2.3、具体状态类2.4、测试类第三章 状态模式应用3.1、环境类3.2、抽象状态类3.3、具体状态类3.4、测试类项目地址:https://gitee.com/caochenlei/design-pattern第一章 状态模式介绍状态模式的介绍:在软件开发过程中,应用程序中的部分对象可能会根据不同的情况做出不同的行为,我们把这种对象称为有状态的对象,而把影响对象行为的一个或多个动态变化的属性称为状态。当有状态的对象与原创 2021-04-11 17:34:24 · 1481 阅读 · 9 评论 -
设计模式:行为型-解释器模式
目录第一章 解释器模式介绍第二章 解释器模式实现2.1、抽象表达式2.2、终结符表达式2.3、非终结符表达式2.4、环境类2.5、测试类第三章 解释器模式应用项目地址:https://gitee.com/caochenlei/design-pattern第一章 解释器模式介绍解释器模式的介绍:在软件开发中,会遇到有些问题多次重复出现,而且有一定的相似性和规律性。如果将它们归纳成一种简单的语言,那么这些问题实例将是该语言的一些句子,这样就可以用“编译原理”中的解释器模式来实现了。在“编译原理”原创 2021-04-11 15:47:46 · 590 阅读 · 11 评论 -
设计模式:行为型-备忘录模式
目录第一章 备忘录模式介绍第二章 备忘录模式实现2.1、发起人2.2、备忘录2.3、管理者2.4、测试类第三章 备忘录模式应用项目地址:https://gitee.com/caochenlei/design-pattern第一章 备忘录模式介绍备忘录模式的介绍:每个人都有犯错误的时候,都希望有种“后悔药”能弥补自己的过失,让自己重新开始,但现实是残酷的。在计算机应用中,客户同样会常常犯错误,能否提供“后悔药”给他们呢?当然是可以的,而且是有必要的。这个功能由“备忘录模式”来实现。很多应用软件原创 2021-04-11 12:52:22 · 1365 阅读 · 6 评论 -
设计模式:行为型-中介者模式
目录第一章 中介者模式介绍第二章 中介者模式实现2.1、抽象中介者2.2、具体中介者2.3、抽象同事类2.4、具体同事类2.5、最终测试类第三章 中介者模式应用项目地址:https://gitee.com/caochenlei/design-pattern第一章 中介者模式介绍中介者模式的介绍:在现实生活中,常常会出现好多对象之间存在复杂的交互关系,这种交互关系常常是“网状结构”,它要求每个对象都必须知道它需要交互的对象。例如,每个人必须记住他(她)所有朋友的电话;而且朋友中如果有人的电话修改原创 2021-04-11 11:14:39 · 591 阅读 · 10 评论 -
设计模式:行为型-观察者模式
目录第一章 观察者模式介绍第二章 观察者模式实现2.1、抽象主题类2.2、具体主题类2.3、抽象观察者2.4、具体观察者2.5、最终测试类第三章 观察者模式应用3.1、具体主题类3.2、具体观察者3.3、最终测试类项目地址:https://gitee.com/caochenlei/design-pattern第一章 观察者模式介绍观察者模式的介绍:气象站可以将每天测量到的温度、湿度、气压等信息,可以用公告的形式发布出去,供给自己的网站或者第三方网站使用,当温度、湿度、气压数据更新的时候,需要实原创 2021-04-10 21:44:30 · 1053 阅读 · 10 评论 -
设计模式:行为型-迭代器模式
目录第一章 迭代器模式介绍第二章 迭代器模式实现2.1、抽象迭代器2.2、具体迭代器2.3、抽象聚合类2.4、具体聚合类2.5、最终测试类第三章 迭代器模式应用第一章 迭代器模式介绍迭代器模式的介绍:在现实生活以及程序设计中,经常要访问一个聚合对象中的各个元素,如“数据结构”中的链表遍历,通常的做法是将链表的创建和遍历都放在同一个类中,但这种方式不利于程序的扩展,如果要更换遍历方法就必须修改程序源代码,这违背了“开闭原则”。迭代器模式(Iterator Pattern)是 Java 和 .Net原创 2021-04-10 17:24:45 · 992 阅读 · 11 评论 -
设计模式:行为型-访问者模式
目录第一章 访问者模式介绍第二章 访问者模式实现2.1、抽象访问者类2.2、具体访问者类2.3、抽象元素类2.4、具体元素类2.5、对象结构类2.6、最终测试类第三章 访问者模式应用项目地址:https://gitee.com/caochenlei/design-pattern第一章 访问者模式介绍访问者模式的介绍:在现实生活中,有些集合对象存在多种不同的元素,且每种元素也存在多种不同的访问者和处理方式。例如,公园中存在多个景点,也存在多个游客,不同的游客对同一个景点的评价可能不同;医院医生开原创 2021-04-10 16:27:10 · 1643 阅读 · 13 评论 -
设计模式:行为型-命令模式
目录第一章 命令模式介绍第二章 命令模式实现2.1、抽象命令类2.2、具体命令类2.3、命令接收者2.4、命令请求者2.5、最终测试类第三章 命令模式应用项目地址:https://gitee.com/caochenlei/design-pattern第一章 命令模式介绍命令模式的介绍:在软件开发系统中,“方法的请求者”与“方法的实现者”之间经常存在紧密的耦合关系,这不利于软件功能的扩展与维护。例如,想对方法进行“撤销、重做、记录”等处理都很不方便,因此“如何将方法的请求者与实现者解耦”变得很重原创 2021-04-10 11:05:56 · 1479 阅读 · 10 评论 -
设计模式:行为型-模板模式
目录第一章 模板模式介绍第二章 模板模式实现2.1、抽象父类2.2、具体子类2.3、测试类第三章 模板模式应用项目地址:https://gitee.com/caochenlei/design-pattern第一章 模板模式介绍模板模式的介绍:在面向对象程序设计过程中,程序员常常会遇到这种情况:设计一个系统时知道了算法所需的关键步骤,而且确定了这些步骤的执行顺序,但某些步骤的具体实现还未知,或者说某些步骤的实现与具体的环境相关。例如,去银行办理业务一般要经过以下4个流程:取号、排队、办理具体业原创 2021-04-09 19:31:58 · 737 阅读 · 12 评论 -
设计模式:结构型-代理模式
目录第一章 代理模式介绍第二章 代理模式实现(静态代理)2.1、抽象主题类2.2、真实主题类2.3、代理类2.4、测试类第三章 代理模式实现(JDK动态代理)3.1、抽象主题类3.2、真实主题类3.3、代理类3.4、测试类第四章 代理模式实现(CGLIB动态代理)4.1、抽象主题类4.2、真实主题类4.3、代理类4.4、测试类第五章 代理模式应用项目地址:https://gitee.com/caochenlei/design-pattern第一章 代理模式介绍代理模式的介绍:在有些情况下,一个原创 2021-04-09 17:52:11 · 695 阅读 · 13 评论 -
设计模式:结构型-享元模式
目录第一章 享元模式介绍第二章 享元模式实现2.1、非享元对象2.2、抽象享元对象2.3、具体享元对象2.4、享原工厂对象2.5、最终测试类第三章 享元模式应用项目地址:https://gitee.com/caochenlei/design-pattern第一章 享元模式介绍享元模式的介绍:在面向对象程序设计过程中,有时会面临要创建大量相同或相似对象实例的问题。创建那么多的对象将会耗费很多的系统资源,它是系统性能提高的一个瓶颈。例如,围棋和五子棋中的黑白棋子,教室里的桌子和凳子等。这些对象有很原创 2021-04-09 16:11:46 · 565 阅读 · 8 评论 -
设计模式:结构型-外观模式
目录第一章 外观模式介绍第二章 外观模式实现2.1、关系依赖图2.2、图形接口类2.3、图形实现类2.4、外观角色类2.5、最终测试类第三章 外观模式应用项目地址:https://gitee.com/caochenlei/design-pattern第一章 外观模式介绍外观模式的介绍:在现实生活中,常常存在办事较复杂的例子,如办房产证或注册一家公司,有时要同多个部门联系,这时要是有一个综合部门能解决一切手续问题就好了。软件设计也是这样,当一个系统的功能越来越强,子系统会越来越多,客户对系统的原创 2021-04-07 14:05:10 · 602 阅读 · 9 评论 -
设计模式:结构型-组合模式
目录第一章 组合模式介绍第二章 组合模式实现(透明式)2.1、透明式介绍2.2、抽象构件2.3、树叶构件2.4、树枝构件2.5、客户端测试第三章 组合模式实现(安全式)3.1、安全式介绍3.2、抽象构件3.3、树叶构件3.4、树枝构件3.5、客户端测试第四章 组合模式应用项目地址:https://gitee.com/caochenlei/design-pattern第一章 组合模式介绍组合模式的介绍:组合模式(Composite Pattern)又叫“整体-部分”模式,是用于把一组相似的对象当原创 2021-04-05 20:59:53 · 782 阅读 · 13 评论 -
设计模式:结构型-装饰器模式
目录第一章 装饰器模式介绍第二章 装饰器模式实现2.1、关系依赖图2.2、图形接口类2.3、图形实现类2.4、图形修饰者接口类2.5、图形修饰者实现类2.6、最终测试类第三章 装饰器模式应用第一章 装饰器模式介绍装饰器模式的介绍:在软件开发过程中,有时想用一些现存的组件,这些组件可能只是完成了一些核心功能,但在不改变其结构的情况下,可以动态地扩展其功能,所有这些都可以釆用装饰器模式来实现。装饰器模式(Decorator Pattern)的定义:指在不改变现有对象结构的情况下,动态地给该对象增加一些职原创 2021-03-13 19:55:08 · 1263 阅读 · 13 评论 -
设计模式:结构型-桥接模式
目录第一章 桥接模式介绍第二章 桥接模式实现2.1、关系依赖图2.2、绘图接口类2.3、绘图实现类2.4、图形抽象类2.5、图形实现类2.6、最终测试类第三章 桥接模式应用项目地址:https://gitee.com/caochenlei/design-pattern第一章 桥接模式介绍桥接模式的介绍:在现实生活中,某些类具有两个或多个维度的变化,如图形既可按形状分,又可按颜色分。如何设计类似于 Photoshop 这样的软件,能画不同形状和不同颜色的图形呢?如果用继承方式,m 种形状和 n原创 2021-03-13 17:46:02 · 1153 阅读 · 13 评论 -
设计模式:结构型-适配器模式
目录第一章 适配器模式介绍第二章 适配器模式实现(类适配器)2.1、关系依赖图2.2、创建交流电2.3、定义直流电2.4、创建充电器2.5、创建手机类2.6、测试充电器2.7、点评该模式第三章 适配器模式实现(对象适配器)3.1、关系依赖图3.2、创建交流电3.3、定义直流电3.4、创建充电器3.5、创建手机类3.6、测试充电器3.7、点评该模式第四章 适配器模式实现(接口适配器)4.1、关系依赖图4.2、创建动画接口4.3、接口的适配器4.4、适配器的子类4.5、客户端测试类4.6、该模式的实践第五章 适原创 2021-03-09 12:40:50 · 4197 阅读 · 24 评论 -
设计模式:创建型-建造者模式
目录第一章 建造者模式介绍第二章 建造者模式实现2.1、关系依赖图2.2、产品实现类2.3、抽象建造者2.4、工程指挥者2.5、具体建造者:别墅2.6、具体建造者:高楼2.7、产品使用端第三章 建造者模式应用3.1、最佳的实践3.2、产品实现类3.3、抽象建造者3.4、具体建造者项目地址:https://gitee.com/caochenlei/design-pattern第一章 建造者模式介绍建造者模式的介绍:建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复原创 2021-03-06 14:25:29 · 1522 阅读 · 18 评论 -
设计模式:创建型-原型模式
目录第一章 原型模式介绍第二章 原型模式实现(浅克隆)第三章 原型模式实现(深克隆:第一种)第四章 原型模式实现(深克隆:第二种)第五章 原型模式应用项目地址:https://gitee.com/caochenlei/design-pattern第一章 原型模式介绍原型模式的介绍:原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能,这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当原创 2021-03-06 10:05:39 · 1631 阅读 · 17 评论 -
设计模式:创建型-抽象工厂模式
目录第一章 抽象工厂模式介绍第二章 抽象工厂模式实现2.1、类间关系依赖图2.2、图形产品接口类2.3、图形产品实现类2.4、图形工厂类编写2.5、颜色产品接口类2.6、颜色产品实现类2.7、颜色工厂类编写2.8、产品家族抽象类2.9、抽象类的工厂类2.10、抽象工厂类测试第三章 抽象工厂模式应用项目地址:https://gitee.com/caochenlei/design-pattern第一章 抽象工厂模式介绍抽象模式的介绍:抽象工厂模式(Abstract Factory)是围绕一个超级工原创 2021-03-03 15:37:53 · 1648 阅读 · 12 评论 -
设计模式:创建型-工厂模式
目录第一章 工厂模式介绍第二章 工厂模式实现2.1、关系依赖图2.2、产品接口类2.3、产品实现类2.4、工厂类编写2.5、工厂类测试第三章 工厂模式应用项目地址:https://gitee.com/caochenlei/design-pattern第一章 工厂模式介绍工厂模式的介绍:工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通原创 2021-03-03 11:34:04 · 1564 阅读 · 11 评论 -
设计模式:创建型-单例模式
目录第一章 单例模式介绍第二章 01-饿汉式(第一种)第三章 02-饿汉式(第二种)第四章 03-懒汉式(第一种)第五章 04-懒汉式(第二种)第六章 05-双检锁(推荐用)第七章 06-登记式(推荐用)第八章 07-枚举式(推荐用)第九章 单例模式应用项目地址:https://gitee.com/caochenlei/design-pattern第一章 单例模式介绍单例模式(Singleton Pattern)是最简单的设计模式之一,这种类型的设计模式属于创建型模式,通过单例模式的方法创建的类原创 2021-03-01 21:44:46 · 3279 阅读 · 17 评论 -
设计模式:七大原则
目录第一章 遵守原则介绍第二章 单一职责原则2.1、原则介绍2.2、错误示范2.3、正确示范第三章 开放封闭原则3.1、原则介绍3.2、错误示范3.3、正确示范第四章 里氏替换原则4.1、原则介绍4.2、错误示范4.3、正确示范第五章 接口隔离原则5.1、原则介绍5.2、错误示范5.3、正确示范第六章 依赖倒转原则6.1、原则介绍6.2、错误示范6.3、正确示范第七章 其他两大原则7.1、合成复用原则7.2、最少知识原则项目地址:https://gitee.com/caochenlei/design-原创 2021-03-01 14:39:44 · 3893 阅读 · 16 评论 -
设计模式:UML类图
目录第一章 UML类图:基本介绍第二章 UML类图:依赖关系2.1、关系介绍2.2、代码演示2.3、关系图示第三章 UML类图:泛化关系3.1、关系介绍3.2、代码演示3.3、关系图示第四章 UML类图:实现关系4.1、关系介绍4.2、代码演示4.3、关系图示第五章 UML类图:关联关系5.1、关系介绍5.2、代码演示5.3、关系图示第六章 UML类图:聚合关系6.1、关系介绍6.2、代码演示6.3、关系演示第七章 UML类图:组合关系7.1、关系演示7.2、代码演示7.3、关系演示项目地址:http原创 2021-02-28 17:09:39 · 3221 阅读 · 15 评论