
设计模式
木子_lishk
IT爱好者
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
设计模式目录(更新中...)
一、创建型模式1.简单工厂模式2.工厂方法模式3.抽象工厂模式4.单例模式5.原型模式6.建造者模式二、结构型模式7.代理模式8.适配器模式9.装饰模式...原创 2019-10-24 10:02:19 · 175 阅读 · 0 评论 -
外观模式
外观(Facade)模式:为多个复杂的子系统提供一个一致的接口,从而使这些子系统更容易被访问。外观(Facade)模式角色:(1)外观(Facade)角色:为多个子系统对外提供一个共同的接口。(2)子系统(Sub System)角色:客户通过外观角色访问其接口。张无忌学会了九阳神功,乾坤大挪移、太极拳剑。张无忌就相当于外观角色。而子系统包括三个:火工头陀的九阳神功、阳顶天的乾坤大挪移、张三...原创 2019-10-09 17:10:22 · 195 阅读 · 0 评论 -
桥接模式
桥接模式:将抽象部分与它的实现部分分离,使它们都可以独立地变化。特点:用组合关系代替继承关系来实现,从而降低了抽象和实现这两个可变维度的耦合度。桥接(Bridge)模式包含以下主要角色:(1)实现化(Implementor)角色:定义接口,供扩展抽象化角色调用。(2)具体实现化(Concrete Implementor)角色:给出实现化角色接口的具体实现。(3)抽象化(Abstracti...原创 2019-10-09 15:17:12 · 193 阅读 · 0 评论 -
装饰模式
装饰模式(Decorator Pattern):装饰模式指的是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。装饰模式 4 种角色:Component(抽象构件):给出一个抽象接口,以规范准备接收附加责任的对象。Concrete Component(具体构件):定义一个将要接收附加责任的类。Decorator(抽象装饰)...原创 2019-09-30 15:50:55 · 167 阅读 · 0 评论 -
适配器模式
适配器模式定义:将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。使用场景:客户端需要一个 target(目标)接口,但是不能直接重用已经存在的 adaptee(适配者)类,因为它的接口和 target 接口不一致,所以需要 adapter(适配器)将 adaptee 转换为 target 接口。背景:联合国开会,官方语言...原创 2019-09-30 10:23:56 · 176 阅读 · 0 评论 -
代理模式(静态代表、动态代理)
代理模式:定义:为其他对象提供一种代理以控制对这个对象的访问。通俗的讲就是中介。【主要角色】Subject : 抽象主题角色,是真实主题和它的代理共用的接口,使 RealSubject 和 Proxy 具有一致性。RealSubject:真实主题角色,实现了具体业务的方法。Proxy:代理角色,提供了与真实主题相同的方法,其内部含有对真实主题的引用。一、静态代理代理类在程序运行前就已...原创 2019-09-27 14:59:53 · 173 阅读 · 0 评论 -
七大设计原则
1、开闭原则:对扩展开放,对修改关闭。2、依赖倒置原则:要面向接口编程,不要面向实现编程。3、里氏替换原则:只继承、不重写。4、单一职责原则:控制类的粒度大小、将对象解耦、提高其内聚性。5、接口隔离原则:降低接口粒度,客户端不应该被迫依赖于它不使用的方法。6、迪米特法则:使用中介类,降低耦合。(明星 - 经纪人(中介) - 商家)7、合成复用原则:先考虑组合或聚合,其次才考虑继承。复...原创 2019-09-27 13:32:20 · 132 阅读 · 0 评论 -
原型模式
定义:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。解释:我有一幅《清明上河图》的原画卷(原型实例),我通过复印机复印这幅原画卷得到了新的画卷(新的对象)。// 画家public class Painter{ // 姓名 private String name; public String getName(){ return this.name; } p...原创 2019-09-26 17:33:32 · 192 阅读 · 0 评论 -
抽象工厂模式
抽象工厂模式 与 工厂方法模式 极其相似。区别在于:工厂方法模式的工厂创建 一个 产品。抽象工厂模式的工厂创建 多个 产品;我是这么理解的:我是一个创业者。创业初,我想制造长、短袖衬衫等几种类型的衣服。因为衣服类型不多,我只需要一个工厂就够了,于是使用 简单工厂模式。渐渐地,我赚到了第一桶金,资金充足了,野心膨胀了。我连西装、运动服、T恤也想制造了。这时,不可能所有类型的衣服都塞在同一个...原创 2019-09-25 17:05:24 · 133 阅读 · 0 评论 -
建造者模式
我们都听过女娲挥鞭造人的故事,现在我们就以此来解释建造者模式。建造者模式主要由 4 部分组成:(1)产品(Product):包含组成产品的各个部件。(2)抽象建造者(Builder):具有创建产品各个部件的抽象方法,通常还包含一个返回组成产品的方法。(3)具体建造者(Concrete Builder):实现 Builder 接口,完成产品各个部件的具体创建方法。(4)指挥者(Direct...原创 2019-09-24 11:11:55 · 163 阅读 · 0 评论 -
简单工厂模式(静态工厂)
简单工厂模式:仅有一个工厂,根据所需产品描述(入参),生产所需产品。// 定义一个阿拉伯数操作接口public interface Operation{ public double getResult(double num1, double num2);}// 定义具体的加法操作类public class AddOperation implements Operation{ pub...原创 2019-09-23 15:16:43 · 153 阅读 · 0 评论 -
工厂方法模式
工厂方法模式:提供了一组工厂类,每个产品都有相对应的工厂。示例:// 操作接口类public interface Operation{ public double getResult(double num1, double num2);}// 加法操作类public class AddOperation implements Operation{ public double ge...原创 2019-09-23 16:09:32 · 159 阅读 · 0 评论 -
我理解的IOC技术在Java和C#中比较分析
一直想用心写这个系列的文章,其实看得越多,也就越觉得自己在这方面的功力太浅,也就越不想班门弄斧啦,作为一个开篇,我想把这个技术深层次化,在之前的.net的一个MVC系列文章其实已经涉及到了,只是.net在这方面的应用不如java来得这么猛烈,这么酣汗淋漓,所以也就下定决心,这一阶段针对这一个技术点进行深层次的剖析。IOC,英文全称Inversion of Control,中文直译控制反转,转载 2015-10-08 10:16:26 · 527 阅读 · 0 评论 -
依赖倒置原则
3.1 依赖倒置原则的定义 依赖倒置原则(Dependence Inversion Principle,简称DIP)这个名字看着有点别扭,“依赖”还“倒置”,这到底是什么意思?依赖倒置原则的原始定义是:High level modules should not depend upon low level modules. Both should depend upon abstra转载 2015-09-17 10:04:44 · 410 阅读 · 0 评论 -
策略模式 vs 状态模式
java设计模式之——策略模式 1,什么是策略模式?策略模式,又叫算法簇模式,就是定义了不同的算法族,并且之间可以互相替换,此模式让算法的变化独立于使用算法的客户。 2,策略模式有什么好处? 策略模式的好处在于你可以动态的改变对象的行为。 3,设计原则 设计原则是把一个类中经常改变或者将来可能改变的部分转载 2015-09-15 10:18:44 · 665 阅读 · 0 评论