`
kaixuan489577823
  • 浏览: 31264 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java 设计模式学习笔记

阅读更多

今天抽点时间系统的学习下设计模式,从网上找了点资料和前辈们的学习经验,

一:设计模式学习目标和方法(高手的建议总结 引用)

设计模式就是定式,碰到这种场合你才用得上,所以学习设计模式,你只需要花2个小时过一遍,脑子里面有个印象就赶快收手,到用的时候再去copy & paste。这样就够了。如果你告诉你花了几个月去钻研设计模式,我只能告诉你,你在浪费青春。

总之,水平没到,学也白学,水平到了,无师自通。所以不要学设计模式,看一遍就用,用多了,你自己也可以总结设计模式了。

 

二:笔记

1.一个设计模式有四个基本要素:模式名称,问题,解决方案,效果

 

2.设计模式:模式是一种问题的解决思路,它已经适用于一个实践环境。并且可以适用于其他环境。

设计模式的分类:分布式编程模式,用户界面模式,数据模型模式三大类。

设计模式的作用:设计的重用;
                        为设计提供共同的词汇,每个模式名就是一个设计词汇,其概念使得程序员的交流变得方便;
                        在开发文档中采用模式词汇可以让其他人更容易理解你的想法。

GoF设计模式的分类:
根据目的准则分类:
1. 创建型:creational 与对象的创建有关。
2. 结构型:Structural 处理类或对象之间的组合。
3. 行为型:behavioral 描述类或对象如何交互及如何分配职责。


创建型模式

1.抽象工厂模式 AbstractFactory
2.建造者模式 Builder
3.工厂方法模式 Factory Method
4.原型模式 Prototype
5.单例模式 Singleton

结构型模式

1.适配器模式 Adapter
2.桥接模式 Bridge
3.组合模式 Composite
4.装饰模式 Decorator
5.外观模式 Facade
6.享元模式 Flyweight
7.代理模式 Proxy

行为模式

1.职责链模式 Chain of Responsibility
2.命令模式 Command
3.解释器模式 Interpreter
4.迭代器模式 Iterator
5.中介者模式 Mediator
6.备忘录模式 Memento
7.观察者模式 Observer
8.状态模式 State
9.策略模式 Strategy
10.模板方法模式 Template Method
11.访问者模式 Visitor

 

3.先主要分析学习
适配器模式:把一个类的接口,转换成客户端需要的接口

 

在struts中的应用

http://kaixuan489577823.iteye.com/admin/blogs/659499

 

工厂模式和抽象工厂模式:

 

http://www.iteye.com/topic/70952

 

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

 

 


在Java中static指定的属性在JVM中是全局唯一的,利用这一点我们便可以来实现Singlton的效果。
* 注意要将默认的构造函数设置成private的,这样才能保证只能通过getSingleton()来获取单一的实例。

java 代码
 
  1. public class Singleton {  
  2.     // 单件,静态  
  3.     private static Singleton me = null;

  4.     // 默认的构造函数设置成private,这样保证了只能通过getSingleton()来获得单一实例
  5.     private Singleton() {}
  6.   
  7.     /** 
  8.      * 获取单件,采用lazy方式创建单一实例
  9.      * @return 
  10.      */  
  11.     public static Singleton getSingleton() {  
  12.         if (me == null) {  
  13.             me = new Singleton();  
  14.         }  
  15.         return me;  
  16.     }  

 

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics