![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 54
东皇太乙
我命由我不由天
展开
-
设计模式---结构型
文章目录结构型桥接(Bridge)组合(Composite)装饰(Decorator)外观(Facade)享元(Flywight)代理(Proxy)结构型定义把一个类接口转换成另一个用户需要的接口。桥接(Bridge)定义将抽象与实现分离开来,使它们可以独立变化组合(Composite)定义将对象组合成树形结构来表示“整理/部分”层次关系,允许用户以相同的方式处理单独对象和组合对象。装饰(Decorator)定义为对象动态添加功能装饰者(Decorator)和具体组件(Co原创 2021-04-11 23:02:16 · 119 阅读 · 0 评论 -
设计模式---行为型
文章目录行为型责任链(Chain Of Responsibility)命令解释器(Interpreter)迭代器(Iterator)中介者(Mediator)备忘录(Memento)观察者模式(Observer)状态(State)策略(Strategy)模板方法(Template Method)访问者(Visitor)空对象(Null)行为型责任链(Chain Of Responsibility)定义使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象形成一条链,并沿着原创 2021-04-11 23:01:39 · 84 阅读 · 0 评论 -
设计模式---创建型
文章目录创建型单例模式饿汉式懒汉式双重检查静态内部类枚举单例模式在JDK的应用简单工厂简单工厂在JDK的应用工厂方法抽象工厂原型模式浅拷贝与深拷贝生产者模式(生成器)创建型单例模式定义:所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类中只提供一个取得其对象实例的方法(静态方法)饿汉式静态常量实现这里使用了一个小知识,构造器私有化,防止外部new,通过这个技术可以实现在这个类的内部实例化对象;在内部使用private static关键字对实例原创 2021-04-11 23:00:47 · 89 阅读 · 0 评论 -
原型模式---多例
原型模式碎碎念:由于从来没有了解过原型,导致我说原型的时候总是会说多例,用多例来形容原型其实并无大问题,但应该知道原型与多例其实是同一个东西(prototype),我在面试阿里的时候就出过这样的窘境,面试官在说原型原型,我在说多例多例,我总以为面试官跟我说的其实是不同的东西,害,其实原型就是多例,多例就是原型。在原型模式之前,我们先来看看传统的模式是如何创建一样的对象,例如我要创建10个一样的student对象Student xiaoming = new Student(10,'小明');Stud原创 2021-04-08 19:27:22 · 364 阅读 · 0 评论 -
工厂模式--从无工厂模式到工厂模式的变化
简单工厂定义在创建一个对象时,不向客户暴露内部细节,并提供一个创建对象的通用接口类图简单工厂把实例化的操作单独放到一个类中,这个类就称为简单工厂类,让简单工厂类来就决定应该用哪个具体子类来实例化。这样做能把客户类和具体子类的实现解耦,客户类不再需要知道有哪些子类以及应当实例化哪个子类。客户类往往有多个,如果不使用简单工厂,那么素偶又的客户类都要知道所有子类的细节。而且一旦子类发生改变,例如增加子类,那么所有的客户类都要进行修改。简单工厂在JDK的应用JDK中的Calendar使用了简单工厂原创 2021-04-08 17:33:37 · 164 阅读 · 0 评论 -
简单工厂(深入理解)
简单工厂定义:在创建一个对象时,不向客户暴露内部细节,并提供一个创建对象的通用接口。举例子:例如我有一家披萨店,店里有很多披萨供客户选择,使用工厂与不使用工厂时的区别在于,使用工厂前,每次我需要什么披萨,我都需要自己手动创建,new对象的任务交给类本身执行,如果这个时候,我要创建一个新的披萨,那么我需要修改的代码就是所有new披萨的地方,当这些地方很少的情况下,这样子的修改是可以接受的,但如果很多地方都使用了类似的代码,那么修改的过程是漫长且痛苦的。简单工厂模式应运而生,其内涵在于,业务类不再自己创原创 2021-04-07 17:54:16 · 86 阅读 · 0 评论 -
单例模式
文章目录单例模式饿汉式懒汉式双重检查静态内部类枚举单例模式在JDK的应用单例模式定义:所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类中只提供一个取得其对象实例的方法(静态方法)饿汉式静态常量实现这里使用了一个小知识,构造器私有化,防止外部new,通过这个技术可以实现在这个类的内部实例化对象;在内部使用private static关键字对实例进行修饰,在类装载的过程中就对类进行实例化,通过这样的方式实现单例,避免线程同步问题,但无法起到懒加载原创 2021-04-07 17:53:47 · 83 阅读 · 0 评论 -
设计模式七大原则的理解以及记忆方式
最近在学习设计模式,有必要记忆七大原则,方便后面学习具体的设计模式。我想了一个口诀来方便我记忆(大家可以想自己的口诀来记忆):开接一单,里(迪)合。我用上面的话来记忆七大原则,比如开接一单,我脑海里的场景就是开始接单了,这是第一单,里合,我脑海里就是离合。以下是我自己对七大原则的简单理解:(按照口诀的顺序)开闭原则一个类的模块和函数,应该对扩展开放,对修改关闭接口隔离原则一个类对另一个类的依赖应该简历在最小的接口上依赖倒转原则一种表述:抽象不应该依赖于细节,细节应当依赖于抽原创 2021-04-06 10:30:13 · 651 阅读 · 0 评论 -
七大设计原则之里氏替换原则、开闭原则、迪米特原则、合成复用原则
原创 2021-03-11 22:16:50 · 145 阅读 · 0 评论 -
七大设计原则之单一职责、接口隔离、依赖倒转原则
原创 2021-03-10 21:39:31 · 113 阅读 · 0 评论