![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
qq_320253624
这个作者很懒,什么都没留下…
展开
-
设计模式之享元模式
享元模式是设计模式中少数几个以提高系统性能为目的的模式之一。它的核心思想是:如果在一个系统中存在多个相同的对象,那么只需要共享一份对象的拷贝,而不必为每一次使用都创建新的对象。在享元模式中,由于需要构造和维护这些可以共享的对象,因此,常会出现一个工厂类,用于维护和创建对象。享元模式的主要角色由享元工厂、抽象享元、具体享元类和主函数几部分组成。他们的功能如下:##享元工厂:用于创建具体享元类,维...原创 2019-12-14 16:38:39 · 98 阅读 · 0 评论 -
设计模式之外观模式
1.定义定义了一个高层、统一的接口,外部与通过这个统一的接口对子系统中的一群接口进行访问。通过创建一个统一的类,用来包装子系统中一个或多个复杂的类,客户端可以通过调用外观类的方法来调用内部子系统中所有方法以前我需要在搜索栏逐个搜索网站地址;有了网站导航(用了外观模式)后,就方便很多了2.作用1.实现客户类与子系统类的松耦合2.降低原有系统的复杂度3.提高了客户端使用的便捷性,使得...原创 2019-12-14 13:51:36 · 82 阅读 · 0 评论 -
设计模式之组合模式
属于对象的结构模式,有时又叫做“部分——整体”模式。组合模式将对象组织到树结构中,可以用来描述整体和部分的关系。组合模式可以使客户端将单纯元素与复合元素同等看待。组合模式组合模式把部分和整体的关系用树结构表示出来。组合模式使得客户端把一个个单独的成分对象和由它们复合而成的复合对象同等看待。例如:一个文件系统就是典型的组合模式系统。下面是常见的Windows文件系统中的一部分。抽象构件:...原创 2019-12-13 21:54:04 · 81 阅读 · 0 评论 -
设计模式之包装的设计模式
装饰模式以对客户透明的方式动态地给一个对象附加上更多的责任。换言之,客户端并不会觉得对象在装饰前和装饰后有什么不同。装饰模式可以在不使用创造更多子类的情况下,将对象的功能加以扩展。在装饰模式中的角色有:● 抽象构件(Component)角色:给出一个抽象接口,以规范准备接收附加责任的对象。● 具体构件(ConcreteComponent)角色:定义一个将要接收附加责任的类。● 装饰...原创 2019-12-13 21:33:34 · 176 阅读 · 0 评论 -
设计模式之桥接模式
桥接模式,是结构型的设计模式之一。桥接模式基于类的最小设计原则,通过使用封装,聚合以及继承等行为来让不同的类承担不同的责任。它的主要特点是把抽象(abstraction)与行为实现(implementation)分离开来,从而可以保持各部分的独立性以及应对它们的功能扩展。图中将电脑结构分成 3 级,第 1 级就是商品名称(电脑),第 2 级是电脑类型分类,第 3 级是品牌分类。public ...原创 2019-12-13 20:37:50 · 84 阅读 · 0 评论 -
设计模式之适配器模式
适配器模式(Adapter Pattern)将某个类的接口转换成客户端期望的另一个接口表示,主的目的是兼容性,让原本因接口不匹配不能一起工作的两个类可以协同工作。其别名为包装器(Wrapper)1.类适配器工作原理适配器模式将一个类的接口转换成另一种接口.让 原本接口不兼容的类可以兼容从用户的角度看不到被适配者,是解耦的用户调用适配器转化出来的目标接口方法,适配器再调用被适配者的相...原创 2019-12-11 21:39:01 · 80 阅读 · 0 评论 -
设计模式之建造者模式
1.建造者模式基本介绍(1)建 造者模式(Builder Pattern ) 又叫生成器模式,是一种对象构建模式。它可以将复杂对象的建造过程抽象出来(抽象类别),使这个抽象过程的不同实现方法可以构造出不同表现(属性)的对象。(2) 建 造者模式 是一步一步创建一个复杂的对象,它允许用户只通过指定复杂对象的类型和内容就可以构建它们,用户不需要知道内部的具体构建细节。2.建 造者模式的四...原创 2019-12-10 22:16:57 · 71 阅读 · 0 评论 -
设计模式之原型模式
原型模式(Prototype模式)是指:用原型实例指定创建对象的种类,并且通过拷贝这些原型,创建新的对象原型模式是一种创建型设计模式,允许一个对象再创建另外一个可定制的对象,无需知道如何创建的细节工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建,即 对象.clone()1.浅拷贝public class Sheep...原创 2019-12-10 09:06:34 · 78 阅读 · 0 评论 -
设计模式之工厂模式
有一种抽象产品——汽车(Car),同时有多种具体的子类产品,如BenzCar,BMWCar,LandRoverCar。类图如下作为司机,如果要开其中一种车,比如BenzCar,最直接的做法是直接创建BenzCar的实例,并执行其drive方法,如下BenzCar car = new BenzCar();car.drive();此时如果要改为开Land Rover,则需要修改代码,创建La...原创 2019-12-09 09:03:18 · 87 阅读 · 0 评论 -
设计模式之单例
1.饿汉式构造器私有化 (防止 new )类的内部创建对象向外暴露一个静态的公共方法。getInstancepublic class Singleton1 { private Singleton1() { } private static final Singleton1 single = new Singleton1(); public stat...原创 2019-12-08 21:47:31 · 59 阅读 · 0 评论 -
设计模式之迪米特法则
一个对象应该对其他对象保持最少的了解类与类关系越密切,耦合度越大迪米特法则(Demeter Principle)又叫 最少知道原则,即一个类 对自己依赖的类知道的越少越好。也就是说,对于被依赖的类不管多么复杂,都尽量将逻辑封装在类的内部。对外除了提供的 public 方法,不对外泄露任何信息迪米特法则还有个更简单的定义:只与直接的朋友通信直接的朋友:每个对象都会与其他对象有 耦合关系,...原创 2019-12-06 22:55:48 · 92 阅读 · 0 评论 -
设计模式之开闭原则
1)开闭原则(Open Closed Principle)是编程中 最基础、最重要的设计原则2) 一个软件实体如类,模块和函数应该 对扩展开放( 对提供方),对 修改关闭( 对使用方)。用抽象构建框架,用实现扩展细节。3) 当软件需要变化时,尽量 通过扩展软件实体的行为来实现变化,而不是 通过修改已有的代码来实现变化。4) 编程中遵循其它原则,以及使用设计模式的目的就是遵循开闭原则。代码...原创 2019-12-06 22:03:12 · 214 阅读 · 0 评论 -
设计模式之里氏替换原则
继承包含这样一层含义:父类中凡是已经实现好的方法,实际上是在设定规范和契约,虽然它不强制要求所有的子类必须遵循这些契约,但是如果子类对这些已经实现的方法任意修改,就会对整个继承体系造成破坏。继承在给程序设计带来便利的同时, , 也带来了弊端。比如使用继承会给程序带来 侵入性,程序的可移植性降低,增加对象间的耦合性,如果一个类被其他的类所继承,则当这个类需要修改时,必须考虑到所有的子类...原创 2019-12-06 21:38:54 · 77 阅读 · 0 评论 -
设计模式之依赖倒转原则
高层模块不应该依赖低层模块,二者都应该依赖其抽象抽象不应该依赖细节,细节应该依赖抽象依赖倒转(倒置)的中心思想是 面向接口编程依赖倒转原则是基于这样的设计理念:相对于细节的多变性,抽象的东西要稳定的多。以抽象为基础搭建的架构比以细节为基础的架构要稳定的多。在 java 中,抽象指的是接口或抽象类,细节就是具体的实现类使用 接口或抽象类的目的是制定好 规范,而不涉及任何具体的操作,把 展...原创 2019-12-06 21:06:52 · 111 阅读 · 0 评论 -
设计模式之接口隔离原则
客户端不应该依赖它不需要的接口,即 一个类对另一个类的依赖应该建立在最小的接口上代码:public class Segregation1 { public interface Interface1{ void operation1(); void operation2(); void operation3(); vo...原创 2019-12-06 21:06:13 · 89 阅读 · 0 评论