了解设计模式

原创 2012年03月22日 19:04:01

设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。

java一共23种设计模式!

引用《软件秘笈-设计模式那点事》书籍:

按照目的来分,设计模式可以分为创建型模式、结构型模式和行为型模式。
创建型模式用来处理对象的创建过程;结构型模式用来处理类或者对象的组合;行为型模式用来对类或对象怎样交互和怎样分配职责进行描述。

创建型模式用来处理对象的创建过程,主要包含以下5种设计模式:
 工厂方法模式(Factory Method Pattern)
 抽象工厂模式(Abstract Factory Pattern)
 建造者模式(Builder Pattern)
 原型模式(Prototype Pattern)
 单例模式(Singleton Pattern)

结构型模式用来处理类或者对象的组合,主要包含以下7种设计模式:
 适配器模式(Adapter Pattern)
 桥接模式(Bridge Pattern)
 组合模式(Composite Pattern)
 装饰者模式(Decorator Pattern)
 外观模式(Facade Pattern)
 享元模式(Flyweight Pattern)
 代理模式(Proxy Pattern)

行为型模式用来对类或对象怎样交互和怎样分配职责进行描述,主要包含以下11种设计模式:
 责任链模式(Chain of Responsibility Pattern)
 命令模式(Command Pattern)
 解释器模式(Interpreter Pattern)
 迭代器模式(Iterator Pattern)
 中介者模式(Mediator Pattern)
 备忘录模式(Memento Pattern)
 观察者模式(Observer Pattern)
 状态模式(State Pattern)
 策略模式(Strategy Pattern)
 模板方法模式(Template Method Pattern)
 访问者模式(Visitor Pattern)

Singleton

  结构

  意图 保证一个类仅有一个实例,并提供一个访问它的全局访问点。
  适用性 当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时。

  当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例时。

//饿汉单例 
public class EagerSingleTon { 
private static EagerSingleTon m_instance=new EagerSingleTon(); 
private EagerSingleTon(){}; 
public static EagerSingleTon get_instance(){ 
return m_instance; 
} 
} 


//懒汉单例 

public class LazySingleton { 
private static LazySingleton m_instance=null; 
private LazySingleton(){}; 
synchronized public static LazySingleton getInstance(){ 
if(m_instance==null){ 
m_instance= new LazySingleton(); 
} 
return m_instance; 
} 
} 


 

c#设计模式23种了解框架搭建

  • 2011年02月14日 22:34
  • 1.34MB
  • 下载

你真的了解iOS代理设计模式吗?

本文是投稿文章,作者:刘小壮 在项目中我们经常会用到代理的设计模式,这是iOS中一种消息传递的方式,也可以通过这种方式来传递一些参数。这篇文章会涵盖代理的使用技巧和原理,以及代理的内存管理等方面...

你真的了解iOS代理设计模式吗?

在项目中我们经常会用到代理的设计模式,这是iOS中一种消息传递的方式,也可以通过这种方式来传递一些参数。这篇文章会涵盖代理的使用技巧和原理,以及代理的内存管理等方面的知识。我会通过这些方面的知识,带大...

了解这23种设计模式

根据设计模式的参考书 中所提到的,总共有 23 种设计模式。这些模式可以分为三大类:创建型模式(Creational Patterns)、结构型模式(Structural Patterns)、行为型模...

Java编程应该了解的事 - 设计模式、软件工程、项目管理

设计模式: 我们不难发现世间万物的发展基本都有一个起决定性作用的起始点。比如,基因会决定一个人的某些特质;本质决定现象;领导决定一个组织的发展。其实,就是本质。而编程思想的本质是什么呢?换句话说,对...

Java多线程设计模式:了解wait/notify机制

通常,多线程之间需要协调工作。例如,浏览器的一个显示图片的线程displayThread想要执行显示图片的任务,必须等待下载线程downloadThread将该图片下载完毕。如果图片还没有下载完,di...

Android 设计模式 笔记 - 深入了解属性动画

差不多的开发者都应该知道的Android提供的三种属性动画: View Animation Drawable Animation Property Animation 但是在And...

你真的了解iOS代理设计模式吗?

我之前的博客中有delegate相关的介绍,不过今天看到一篇介绍delegate的文章,感觉写的太好,太系统了,就在这里mark一下,分享给大家 你真的了解iOS代理设计模式吗? 在项目中我...

MVP 你应该了解的程序设计模式(一)

MVC之痛 说到设计模式,做原生开发的朋友,用到最多应该是MVC设计模式。其实MVC不应该说是设计模式,而是一种框架模式。Model-View-Controller,即模型(数据)-视图-控制器,其...

学习设计模式需要了解的面向对象知识

学习设计模式和程序语言,最好掌握一些面向对象的基础知识,这是我的读书笔记,做了个简单的整理。老师要求我们读的书是《headfirst设计模式》,不过我先读了《大话设计模式》,讲的很有意思,相对那本也比...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:了解设计模式
举报原因:
原因补充:

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