欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JAVA设计模式——开篇

程序员文章站 2022-05-07 22:03:07
设计模式很重要,重要性我就不再复述了。最主要的是,通常我们在写一定量代码后,常用的方法什么的都熟悉后,想再提高代码能力,我找到的最好的方法还是去学习,理解设计模式。不理解设计模式,看一些开源框架和java源码会很难懂。 刚学java时就从各种文章,也听很多人说面向对象编程很重要。但是在编程时虽然会建 ......

  设计模式很重要,重要性我就不再复述了。最主要的是,通常我们在写一定量代码后,常用的方法什么的都熟悉后,想再提高代码能力,我找到的最好的方法还是去学习,理解设计模式。不理解设计模式,看一些开源框架和java源码会很难懂。

  刚学java时就从各种文章,也听很多人说面向对象编程很重要。但是在编程时虽然会建立类什么的,看起来是面向对象编程。面向对象中的概念也背了一大堆,然而感觉没有真正的理解面向对象编程。因为实际上在开发业务过程中,尤其是简单一些简单的业务,接口,抽象类什么的都用不上。直到开始学习设计模式后,才觉得渐渐理解面向对象编程。这两个是相关的,或者说就是差不多的。。。我也没想到合适形容词,合适的话来表达这两者的关系(手动允悲)。设计模式一开始看的时候,肯定会很枯燥,看了也会很容易忘记。这时一定要结合面向对象的特性和概念去理解,去看那些代码。比如,类,对象,实例化,继承,重写等概念,你熟悉的话,肯定更容易理解设计模式。还有一开始如果不怎么理解,千万不要放弃,都是需要一个过程的。我也是每一次看设计模式,都会有一些新的理解。

  现在在网上关于设计模式的文章已经很多了,设计模式的系列文章也很多。我还是打算写一下设计模式,一是对自己的理解和学习作一个记录,自己写下来,更能记住和理解。二是,如果其他有人看到,希望能起到一定帮助。虽然我写得不好,可能帮助很小。。。或者我有错误的地方,欢迎大家指出来,喷也不用客气(手动笑哭)。好了,暂时就先这样吧,希望能坚持下来,并保持每周两篇以上的更新。

   本系列用到的代码都放在github上面:https://github.com/shanejim/basicjava

一、设计模式的六大设计原则:

1.单一职责原则:一个类一个职责。但“职责”容易划分不清

2.里氏替换原则:使用父类的地方,替换成子类也可以实现

3.依赖倒置原则:高层模块不应该依赖底层模块,应该在两层中间加一层抽象,两者都依赖这个抽象

4.接口隔离原则:一个接口只对一个子模块或业务逻辑进行服务,使用多个专门的接口比使用单一的总接口要好

5.迪米特法则:一个对象应该对其他对象有最少的了解,即一个类应该对自己需要耦合或者调用的类知道得最少

6.开闭原则:一个软件实体,如类、模块和函数应该对外扩展开放,对修改关闭

二、设计模式分为三大类:创建型,结构性,行为型。

(在写每一篇时,发布后,会加在这里加上超链接)

创建型模式是用来创建对象的模式,抽象了实例化的过程。创建对象的同时隐藏创建逻辑,不是使用 new运算符直接实例化对象。这使得程序在判断针对某个给定实例需要创建哪些对象时更加灵活。

2.工厂方法模式

3.抽象工厂模式

4.建造者模式

5.原型模式

结构型模式讨论的是类和对象的结构,它采用继承机制来组合接口或实现,或者通过组合一些对象实现新的功能。这些结构型模式在某些方面具有很大的相似性,但侧重点却各不相同。

1.代理模式

2.装饰模式

3.适配器模式

4.组合模式

5.桥梁模式

6.外观模式

7.享元模式

行为型模式关注的是对象的行为,用来解决对象之间的联系问题。

1.模版方法模式

2.命令模式

3.责任链模式

4.策略模式

5.迭代器模式

6.中介者模式

7.观察者模式

8.备忘录模式

9.访问者模式

10.状态模式

11.解释器模式