java 设计模式(Design Patterns)总

原创 2017年05月16日 15:31:52

设计模式,是一套可以被反复利用,多数人知晓的,经过分类,代码设计经验,说简单点,设计模式就是为了让自己的代码可读性增强,复用率提高,保证代码的可靠性。

一,设计模式的分类:

设计模式可以分为三大类:

1 创建型模式,一共有5种:工厂方法模式,抽象工厂模式,单例模式,建造者模式,原型模式。

2 结构型模式, 一共有7种:适配器模式,装饰器模式,代理模式,外观模式,桥接模式,组合模式,享元模式。

3 行为型模式, 一共有11种:策略模式,模板方法模式,观察者模式,迭代器模式,责任链模式,命令模式,备忘录模式,状态模式,访问者模式,中介者模式,解释器模式


以上是23种设计模式,实际上,这23种设计模式都来自于 6大设计原则

java 6大设计原则

1,开闭原则

   定义:一个软件的实体如类,模块应该对拓展开放,对修改关闭

   该设计原则是6大设计原则的大哥大,我们所要设计的某个类的时候就应该想明白该类负责哪些职责,不应到了后期修改代码,应当尽可能的去拓展代码。换成安卓开发中,我们应当尽可能的使用接口和抽象类。

2,里氏替换原则

   定义:任何基类可以出现的地方,子类一定可以出现,即子类一定要可以替代父类

   对于该设计原则,简单的说就是子类不可更改父类的功能和方法,如果更改,可能会导致不可预知的错误,给代码带来难以维护的后果。假设一组继承关系中,父类需要修改,必须考虑到其所有的子类。

3,依赖倒置原则

   定义:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象

   依赖导致设计原则是开闭原则的基础,简单的说是面向接口编程,应对依赖于抽象,而不依赖于具体。在java中,细节即实现类是多变的,抽象的东西相对于稳定的多,以抽象为基础搭建起来的架构比以细节搭建起来的架构稳定的多,该设计原则的核心是面向接口编程。

4,接口隔离原则

   定义:一个实现类不应该依赖于它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口之上

   简单的说就是使用多个隔离的接口比使用单独一个接口要好,实质上是降低耦合的意思,一个类不应去实现他们不需要的方法,应当接口拆分开来使用

5,迪米特原则

   定于:一个对象应当对其他对象保持最少的了解

   这个很容易理解,设计功能模块,应当相对独立,尽量少的与其他对象产生耦合,如果不按这么去做,可能会导致系统十分臃肿,维护一个功能模块的方法导致另一个功能模块也要跟着维护,增加工作量。

6,单一职责原则

   定于:不要存在多于一个导致类变更的原因

   通俗的去讲,即一个类只负责一个功能,本质上讲和迪米特法则有些相似,是为了减少需求改变时产生的影响,如不遵守,会导致维护成本上升,代码可读性下降


以上是6大设计原则的简单学习介绍,相应的,23种设计模式就是从这6大设计原则衍生出来的,大部分遵循6大设计原则,按照这些设计原则设计出来的代码,可读性,可拓展性强,耦合度低,利人利己


版权声明:本文为博主原创文章,未经博主允许不得转载。

Java设计模式之工厂方法模式

概述工厂方法模式是创建型设计模式的一种, 工厂方法模式也叫工厂模式或虚拟构造器模式,在工厂方法模式中,一个工厂父类包含多个工厂子类,父类定义接口,子类负责创建具体的产品对象.定义定义一个用于创建对象...
  • wbwjx
  • wbwjx
  • 2016年04月15日 07:23
  • 353

Java设计模式之代理模式

概述代理模式(Proxy)也称为委托模式,是结构型设计模式 代理在我们日常生活中也并不少见,比如代理上网,代驾等等,所谓代理就是一个人或者机构代表另一个人或者机构采取行动,一个客户不想或者不能够直接...
  • wbwjx
  • wbwjx
  • 2016年08月27日 23:02
  • 277

java设计模式(Design Patterns)

设计模式(Design Patterns)                                   ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用、...

Examples of GoF Design Patterns(GOF提及的设计模式在java中的例子)

参考文献 参考1:http://stackoverflow.com/questions/1673841/examples-of-gof-design-patterns 参考2:http://en....

JAVA设计模式(一)(Design Patterns)

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

java 设计模式(Design Patterns)

设计模式(Design Patterns)                                    设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编...

Java基础学习总结——Java23种设计模式(Design Patterns)详解

设计模式(Design Patterns)                                   ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使...

Java基础学习总结(37)——Java23中设计模式(Design Patterns)详解

设计模式(Design Patterns)                                   ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使...

JAVA设计模式《Design Patterns》

  • 2010年06月17日 23:39
  • 7.26MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java 设计模式(Design Patterns)总
举报原因:
原因补充:

(最多只允许输入30个字)