`

一句话总结java23种设计模式

 
阅读更多
http://my.oschina.net/u/213327/blog/637595
设计模式的六大原则
1、开闭原则(Open Close Principle):对扩展开放对修改关闭
2、里氏代换原则(Liskov Substitution Principle):父类出现的地方,子类也可出现
3、依赖倒转原则(Dependence Inversion Principle):依赖抽象而不依赖具体
4、接口隔离原则(Interface Segregation Principle):多个隔离的接口,比使用单个接口要好
5、迪米特法则(最少知道原则)(Demeter Principle):最少知道原则。一个实体应当尽量少的与其他实体之间发生相互作用
6、合成复用原则(Composite Reuse Principle):尽量使用合成/聚合的方式,而不是使用继承。







创建型模式(五种)

工厂方法模式(Factory):工厂创建对象

抽象工厂模式(Abstractfactory):抽象工厂实例创建对象,工厂可修改,灵活度高

单例模式(Sington):适用于只需要一个对象的情况

建造者模式(Builder):创建复杂对象

原型模式(Prototype):复制对象,包括深度复制和浅度复制,深度复制重建引用对象,浅度复制不创建



结构型模式(七种)

适配器模式(Adapter):开发阶段不考虑,适用于后期维护时添加功能

装饰器模式(Decorator):扩展方法功能,可在方法执行前后加代码

代理模式(Proxy):调用引用对象方法实现自身功能

外观模式(Facade):CPU,内存,硬盘组装成电脑。组装多个对象实现自身功能。

桥接模式(Bridge):通过setXxx方法任意修改引用实例,调用同样方法实现不同功能

组合模式(Composite):部分与整体,常用于表示树形结构

享元模式(Flyweight):维护资源集合,经典案例:数据库连接池,避免重新开启数据库链接的开销





行为型模式(十一种)

策略模式(Strategy):定义多个不同的实现类,这些类实现公共接口,通过调用接口调用不同实例得到不同结果

模板方法模式(Template):父类定义公共方法,不同子类重写父类抽象方法,得到不同结果

观察者模式(Observer):目标方法被调用,通知所有观察者

迭代子模式(Interator):迭代器实现原理

责任链模式(ChainOfResponsibility):依次引用,依次执行

命令模式(Commond):各司其职,逐层调用,有点像三层架构

备忘录模式(Memento):建立原始对象副本,用于存储恢复原始对象数据

状态模式(Stage):通过改变状态,改变行为

访问者模式(Visitor):结构与操作解耦。灵活的操作,放入固定的结构中执行

中介者模式(Mediator):中介类维护对象行为。主程序直接调用中介对象即可

解释器模式(Iterpreter):定义解释类,解释包装对象
分享到:
评论

相关推荐

    Java23种基本的设计模式整料整理学习源码示例zip

    Java23种基本的设计模式整料整理学习源码示例zip Java23种基本的设计模式整料整理学习源码示例zip Java23种基本的设计模式整料整理学习源码示例zip Java23种基本的设计模式整料整理学习源码示例zip 设计模式的六大...

    JAVA设计模式(策略模式)—视频

    策略模式是对算法的包装,是吧使用算法的责任和算法本身分割开来,委派给不同的对象管理。 策略模式通常把一个系列的算法包装到一系列的... 一句话来形容:准备一组算法,并将每一个算法封装起来,使得他们可以互换。

    追MM与JAVA的23种设计模式

    2、BUILDER—MM最爱听的就是“我爱你”这句话了,见到不同地方的MM,要能够用她们的方言跟她说这句话哦,我有一个多种语言翻译机,上面每种语言都有一个按键,见到MM我只要按对应的键,它就能够用相应的语言说出...

    SpringBoot-DesignMode:Java 23种设计模式Demo案列大全 ☞ SpringBoot框架

    SpringBoot-DesignModeJava 23种设计模式Demo案列大全 ☞ SpringBoot框架【每种设计模式都会标记不同的package,每种设计模式例子尽量全、尽量通俗易懂、尽量符合JavaDoc规范】如任务链测试说明: /** * 通过两种...

    论设计模式的重要性-《重学设计模式》

    使用设计模式的步骤可以总结成两句话: 1)设计模式中提到一句很精髓的话:找到稳定点和变化点,运用抽象,把变化点隔离起来。 2)先满足设计原则,再迭代出设计模式。 其实各设计模式之间都是有共通之处的(在...

    设计模式Demo

    针对23种设计模式,分别写了demo并画了类图帮助理解。 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰...

    Java的常用设计模式

    说起设计模式,很多编程语言的设计模式大同小异,而且设计模式很多,这里介绍一下java的几种常见的设计模式,其实设计模式是一个软件的设计思想,从大型软件架构出发,为了升级和维护方便,所以要降低依赖,降低耦合...

    java 面试题 总结

    exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。 16、同步和异步有何异同,在什么情况下分别使用他们?举例说明。 如果数据将在线程间共享。例如正在写的数据以后可能被...

    酒店客房管理系统源码java-DesignPattern:我总结的一些设计模式学习

    所以一句话概括就是: 为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类。 里氏代换原则(Liskov Substitution Principle):对开闭原则的补充。任何基类可以出现的地方,子类...

    JAVA设计模式之策略模式.docx

    策略模式是对算法的包装,是把使用算法的责任和算法本身分割开来,委派给不同...用一句话来说,就是:“准备一组算法,并将每一个算法封装起来,使得它们可以互换”。下面就以一个示意性的实现讲解策略模式实例的结构。

    java-patterns:Java 23种基本的设计模式整料整理学习,责任链模式过滤器,工厂模式BeanFactory,观察者模式ContextListen等。结合Spring源码理解学习

    你就是你想要的。 乌卡内尔 你就是你想要的。 -wb 模式 项目:Java模式 官方网站: : ...所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类,后面的具

    java简易版开心农场源码-designPattern:设计模式代码

    java简易版开心农场源码 designPattern 设计模式总纲 design pattern code 本文作者左潇龙 最近一直在学习设计模式相关的...还有一种说法是说,设计模式是可以解决特定场景的问题的一系列方法,其实我觉得这个解释更

    酒店客房管理系统源码java-design_model:23种设计模式学习记录

    所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类,后面的具体设计中我们会提到这点。 2、里氏代换原则(Liskov Substitution Principle) 里氏代换原则...

    Java之美[从菜鸟到高手演变]之设计模式

    总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。...所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果

    积分管理系统java源码-DesignPattern:关于设计模式的一些演示(Java)

    所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类,开-闭原则是最抽象也是最重要的OOD原则。简单工厂模式、工厂方法模式、抽象工厂模式中都提到了如何通过...

    尚硅谷Java视频_JavaWEB基础视频教程

    本Java视频教程涵盖JavaWEB 企业级开发所需的Servlet、JSP、MVC 设计模式、EL 表达式、JavaBean、国际化、Cookie和HttpSession、JavaMail等全部核心技术。  授课过程中通过多个企业级案例,将各知识点融会贯通。 ...

    JAVA面试题最全集

    35.java除了8种基本类型外,在虚拟机里还有哪一种,有什么作用? 36.除了使用new关键字创建对象意外,试列举另外三种以上创建实例的方式? 37.classloader中,JDK的API、Classpath中的同web-inf中的class加载方式有...

    Java面试宝典2010版

    69、两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对? 48 70、TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用的是父类的compareTo方法,还是使用的子类的...

    Java面试宝典-经典

    69、两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对? 48 70、TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用的是父类的compareTo方法,还是使用的子类的...

    DisignPatterns:设计模式学习

    #JAVA设计模式学习设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。毫无疑问,设计模式...

Global site tag (gtag.js) - Google Analytics