![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
Burning_ice
代码改变世界
展开
-
6.模板方法模式
一.定义定义一个操作中的算法的框架,而将一些步骤延迟到子类中.使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤二.案例a.基本设计:父类{//需要子类构建细节的方法protected function1();protected function2();//模板方法:子类共有的方法,调用细节方法的汇总(该方法用final防止被重写)final p...原创 2019-10-16 19:46:07 · 193 阅读 · 0 评论 -
5.抽象工厂模式
一.概念为创建一组相关或相互依赖的对象提供一个接口,而且无须指定他们的具体类二.示例场景:不同类型应用(社交类:QQ,wechat,游戏类:吃鸡,农药,视频类:优酷,腾讯视频),需要在n个平台(windows,linux,android,ios...)上运行(即:每个平台都要有这几种类型的不同应用),该如何设计?1.定义抽象产品类(例如:社交类,游戏类,视频类):上图中的Ab...原创 2019-10-16 19:44:14 · 198 阅读 · 1 评论 -
七大设计原则
设计模式(面向对象)有七大原则,分别是: 1.开放-封闭原则 2.单一职责原则 3.依赖倒转原则 4.迪米特法则(也称为最小知识原则) 5.接口隔离原则 6.合成/聚合复用原则 7.里氏代换原则开放-封闭原则具有理想主义的色彩,他是面向对象设计的终极目标。其他几条则可以看做是开放-封闭原则的实现方法。设计模式就是实现了这些原则,从而达到了代码复用,增加...转载 2019-03-07 12:09:31 · 213 阅读 · 0 评论 -
1.UML-模式分类
一.类图二.类的关系a.虚线/实线 + 箭头依赖关系:一般是一个类临时使用另外一个类.比如作为方法参数或者返回值等,一般体现在方法上(动物依赖氧气,将氧气当入参)关联关系:一般是一个类和另外一个类有关联,另外一个类当作成员变量(例如气候是企鹅的成员变量)b.实菱形/空菱形 + 箭头组合关系:两个类有相同的生命周期(鸟和翅膀)聚合关系:整体和局部的关系has...原创 2019-03-19 15:12:48 · 348 阅读 · 0 评论 -
2.单例模式
简述:本篇文章主要是描述单例的一些关键点1.构造函数用private避免被其他类new出一个对象2.懒汉式存在线程安全问题public class Singleton2 { private Singleton2(){ } private static Singleton2 instance; public static Singlet...原创 2019-03-19 15:19:43 · 166 阅读 · 0 评论 -
3.简单工厂
1.正常简单工厂模式是根据输入的参数判断进行创建对象,这样会出现修改原代码的情况,违背了开闭原则,例如:2.通过反射的方式弥补简单工厂扩展性不足的情况例如:...原创 2019-03-19 15:32:31 · 217 阅读 · 0 评论 -
4.工厂方法
一.概念定义一个用于创建对象的接口(Creator),让子类(ConcreteCreator,可以多子类,即多种工厂)决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。二.类图代码描述Product(所有产品的抽象:例如糖)ConcreteProduct(某个具体产品:例如棒棒糖)Creator(抽象工厂类:所有厂的统称)Concre...原创 2019-03-19 15:36:19 · 177 阅读 · 0 评论