![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 95
钢铁-程序猿
这个作者很懒,什么都没留下…
展开
-
Leetcode-设计模式-行为型模式
行为型模式一、责任链模式(责任链主要用于处理 职责相同,程度不同的类)责任链模式的优点:降低对象之间的耦合扩展性强,符合开闭原则灵活性强简化对象之间的连接。每个对象只需保持一个指向其后继者的引用,不需保持其他所有处理者的引用缺点:如果责任链过长,请求的处理可能涉及多个处理对象,系统性能将受到一定影响。不能保证每个请求一定被处理,该请求可能一直传到链的末端都得不到处理。例子新建一个程序员抽象类:public abstract class Programmer { pro原创 2022-01-27 21:06:52 · 1267 阅读 · 0 评论 -
Leetcode-设计模式-结构型模式
Leetcode-设计模式-结构型模式一、适配器模式适配器模式:将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。主要解决:主要解决在软件系统中,常常要将一些"现存的对象"放到新的环境中,而新环境要求的接口是现对象不能满足的。何时使用:1、系统需要使用现有的类,而此类的接口不符合系统的需要。2、想要建立一个可以重复使用的类,用于与一些彼此之间没有太大关联的一些类,包括一些可能在将来引进的类一起工作,这些源类不一定有一致的接口。3、通过接口转换原创 2022-01-27 11:14:10 · 1282 阅读 · 0 评论 -
Leetcode-设计模式-构建型模式
设计模式工厂模式1、简单工厂模式(让一个工厂创建所有对象)工厂模式缺点:让一个工厂类承担构建所有对象的职责,一是如果需要生产的产品过多,此模式会导致工厂类过于庞大,承担过多的职责,变成超级类。违背了单一职责原则。二是当要生产新的产品时,必须在工厂类中添加新的分支。而开闭原则告诉我们:类应该对修改封闭。我们希望在添加新功能时,只需增加新的类,而不是修改既有的类,所以这就违背了开闭原则。public class FruitFactory { public Fruit create(Str原创 2022-01-25 21:19:40 · 6229 阅读 · 0 评论 -
行为模式一、策略模式、观察者模式
文章目录策略模式策略模式的结构策略模式的角色和职责代码策略模式的优点策略模式缺点观察者模式观察者模式的结构气象站的例子Java内置的观察者模式如何运作如何把对象变成观察者如何给观察者送出通知观察者如何接收通知利用内置的支持重做气象站策略模式策略模式是行为模式的一种,他对一系列的算法加以封装,为所有算法定义一个抽象的算法接口,并通过继承该算法接口对所有的算法加以封装和实现,具体的算法选择交给客户...原创 2020-04-12 12:50:58 · 162 阅读 · 0 评论 -
结构型模式一、装饰模式以及享元模式、代理模式、外观模式、组合模式
装饰模式把原本的对象传进来,增加新的功能。而不是通过子类的方式,也可以装饰套装饰。装饰模式又叫做包装模式,通常一种对客户端透明的方式来扩展对象的功能,是继承关系的一个替换方案。动态地给一个对象添加一些额外的职责。就增加功能来说,装饰器模式相比生成子类更为灵活。主要解决:一般的,我们为了扩展一个类经常使用继承方式实现,由于继承为类引入静态特征,并且随着扩展功能的增多,子类会很膨胀。装饰模式...原创 2020-04-13 15:07:49 · 407 阅读 · 0 评论 -
创建型模式二、原型模式以及建造者模式
文章目录原型模式特点代码浅拷贝(引用型对象,原对象和克隆对象指向一个地方)深拷贝应用场景建造者模式(通过不同的子类,决定创建复合属性不同的对象)建造者模式的结构原型模式Prototype模式是一种对象创建型模式,采用复制原型对象的方法来创建对象的实例。使用Prototype模式创建的实例,具有与原型一样的数据。特点由原型对象自身创建目标对象,也就是说对象创建这一动作发自原型对象本身。目...原创 2020-04-12 12:51:53 · 112 阅读 · 0 评论 -
创建型模式一、简单工厂模式、工厂方法模式、抽象工厂模式
文章目录一、简单工厂模式(定义一个类来负责创建其他类的实例)工厂模式核心代码二、工厂方法模式(将实际创建工作推迟到子类当中)模式中包含的角色以及职责代码工厂方法模式和简单工厂模式的比较三、抽象工厂模式(工厂接口子类决定创建哪个产品族工厂,再通过这个工厂创建对象)定义例子模式中包含的角色以及其原则工厂模式在开发中的运用写出一个简单的计算器传统写法添加链接描述一、简单工厂模式(定义一个类来负责创建...原创 2020-04-12 12:50:33 · 393 阅读 · 0 评论 -
一、设计模式分类以及设计原则
文章目录一、设计模式二、GoF的23种设计模式的分类和功能1、根据目的来分创建型模式(5个)结构型模式(7个)行为型模式(11个)2、根据作用范围来分类模式对象模式3、设计原则(7个)开闭原则开闭原则的实现方法里氏替换原则里氏替换原则作用里氏替换原则实现方法下面的例子在重写了父类代码的时候,出现了问题依赖倒置原则依赖倒置原则的作用依赖导致原则的实现方法例子单一职责原则单一职责原则的实现方法例子接口...原创 2020-04-13 15:08:18 · 180 阅读 · 0 评论 -
动态代理
文章目录动态代理1、代理模式定义目的代理模式三要素代码几个设计原则(一共6个?)2、动态代理Proxy(由Proxy生成的所有的动态代理都是它的子类)InvocationHandler动态代理代码3、深入理解动态代理类的生命周期动态代理1、代理模式定义给目标对象提供一个代理对象,并且由代理对象控制对目标对象的引用。目的通过引入代理对象的方式来间接访问目标对象,防止直接访问目标对象给系...原创 2020-04-13 15:01:44 · 1148 阅读 · 0 评论