学习java设计模式的必要性探讨

1.设计模式是什么:设计模式为咱们提供了一套可复用的面向对象技术,再配合重构方法,可让咱们避免简单重复的工做。它使用面向接口编程,而不是面向实现。能够说设计模式是java程序设计的灵魂。java

2.为何要学设计模式:设计模式的引入能够下降代码的耦合性,加强代码的灵活性。算法

3.怎么用java的设计模式:设计模式是一个大的类别,在java中,设计模式大的分为三类:建立模式,结构模式,行为模式。而没有个大类又能够分为不少小的类别。设计模式须要咱们理解每种模式的应用场景,优劣势。并多看官方解释,多敲多练,就会慢慢有所领悟并学会使用。数据库

4.设计模式简介编程

  4.1.建立模式:设计模式

    4.1.1.工厂方法和抽象工厂(Factory):使用工厂模式就和使用new同样频繁。性能

    4.1.2.原型(prototype):使用原型模式指定建立对象的种类,而且经过copy这些原型建立新的对象。ui

    4.1.3.builder模式:汽车由车轮 方向盘 发动机不少部件组成,同时,将这些部件组装成汽车也是一件复杂的工做,Builder 模式就是将这两种状况分开进行。spa

    4.1.4.singleton单例模式:保证一个类只有一个实例,并提供一个访问它的全局访问点。prototype

  4.2.结构模式:设计

    4.2.1.设计模式之 Facade:可扩展的使用 JDBC 针对不一样的数据库编程,Facade 提供了一种灵活的实现.

    4.2.2.设计模式之 Proxy:以 Jive 为例,剖析代理模式在用户级别受权机制上的应用。

    4.2.3.设计模式之 Adapter:使用类再生的两个方式:组合(new)和继承(extends),这个已经在"thinking in java"中提到过

    4.2.4.设计模式之 Composite:就是将类用树形结构组合成一个单位.你向别人介绍你是某单位,你是单位中的一个元素,别人和你作买卖,至关于和单位作买卖。

    4.2.5.设计模式之 Decorator:Decorator 是个油漆工,给你的东东的外表刷上美丽的颜色.

    4.2.6.设计模式之 Bridge:"牛郎织女"分开(本应在一块儿,分开他们,造成两个接口),在他们之间搭建一个桥(动态的结合)

    4.2.7.设计模式之 Flyweight:提供 Java 运行性能,下降小而大量重复的类的开销.

  4.3.行为模式:

    4.3.1.设计模式之 Template:实际上向你介绍了为何要使用 Java 抽象类,该模式原理简单,使用很广泛.

    4.3.2.设计模式之 Memento:很简单一个模式,就是在内存中保留原来数据的拷贝.

    4.3.3.设计模式之 Observer:介绍如何使用 Java API 提供的现成 Observer。

    4.3.4.设计模式之 Chain of Responsibility:各司其职的类串成一串,好象击鼓传花,固然若是本身能完成,就不要推委给下一个.

    4.3.5.设计模式之 Command:什么是将行为封装,Command 是最好的说明.

    4.3.6.设计模式之 State:状态是编程中常常碰到的实例,将状态对象化,设立状态变换器,即可在状态中轻松切换.

    4.3.7.设计模式之 Strategy:不一样算法各自封装,用户端可随意挑选须要的算法.

    4.3.8.设计模式之 Mediator:Mediator 很象十字路口的红绿灯,每一个车辆只需和红绿灯交互就能够.

    4.3.9.设计模式之 Interpreter:主要用来对语言的分析,应用机会很少.

    4.3.10.设计模式之 Visitor:访问者在进行访问时,完成一系列实质性操做,并且还能够扩展.

    4.3.11.设计模式之 Iterator:这个模式已经被整合入 Java 的 Collection.在大多数场合下无需本身制造一个Iterator,只要将对象装入Collection中,直接使用Iterator

进行对象遍历。

 5.GoF 的《设计模式》是全部面向对象语言(C++ Java C#)的基础,只不过不一样的语言将之实现得更方便地使用。GoF 的设计模式并非一种具体"技术",它讲述的是思想,它不只仅展现了接口或抽象类在实际案例中的灵活应用和智慧,让你可以真正掌握接口或抽象类的应用,从而在原来的 Java 语言基础上跃进一步,更重要的是,GoF 的设计模式反复向你强调一个宗旨:要让你的程序尽量的可重用。

相关文章
相关标签/搜索