- 浏览: 15451 次
最新评论
文章列表
Sun 公司对 Java 编程语言的解释是:Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言
java的可移植性表现:1、java中基本类型的大小是固定的,不会随着系统的变更而改变(比如C/C++的int可 能是16位,可能是32位),而java int固定32位。
2、二进制数据以固定的格式进行的存储和传输,这样消除了字节顺序的困扰。
...
GOF定义:为其他对象提供一种代理以控制该对象的访问。
代理模式是一种非常有用的模式,它存在的变种模式比较多。比如:远程代理、虚拟代理、保护代理、智能引用、动态代理等等。
package proxy;
/**
*create by datao.wang 2014-3-1-下午2:56:30
*/
public interface Subject {
//被代理方法
public void beat();
}
package proxy;
/**
*create by datao.wang 2014-3-1-下午2:57:56
...
装饰模式Decorator
- 博客分类:
- 设计模式
装饰模式又名包装(Wrapper)模式,装饰模式以客户端透明的方式扩展对象的功能,是继承关系的一种代替方案。
装饰模式其实我们在使用java I/O的时候就已经使用过例如:
//写法一:
FileInputStream fis=new FileInputStream(file);
BufferedInputStream bis=new BufferedInputStream(fis);
DataInputStream dis=new DataInputStream(bis);
//写法二:
DataInputStream dis=new DataInputStream(n ...
定义(GoF《设计模式》):将对象组合成树形结构一表示“部分整体”的层次结构,使的用户对单个对象和使用具有一致性。
组合模式:使用我在处理树形结构中的复杂等级机构时非常有用,它可以使得客户端处理复杂对象就想处理简单对象一样,从而使得客户端与复杂对象之间解耦。 比如:递归数据结构、分级数据结构、树形结构。 例:树形菜单,文件系统。
想到组合模式的实现我就想到了传销,中国大多数直销企业打着直销的名,干着传销的事。想必大家都知道传销是怎么一回事。最上面一个团队发展他们的下面的下线,他们的下线在发展下线,他们下线的下线在发展下线,这样不断的循环,而他们的收入就是从下线的收入中提取。 ...
桥梁模式:又称柄体模式【GOF95】桥梁模式的用意是"将抽象化 (Abstraction)与实现化(Implementation)脱耦,使得二者可以独立地变化"。
关键词: 抽象化、实现化、脱耦
脱耦:
所谓耦合就是两个实体之间存在某种强关系,比如说java中的继承。所谓脱耦就是将两个实体之间存在的这种强关系去掉,或者将两者之间的关系改为弱关系。
java类之间的关系分为:继承、实现、依赖、聚合、关联、组合。
强关系:继承、实现
弱关系:依赖<聚合<关联<组合。
依赖是一种非常弱的关系,一种临时、偶然的关系,如:表现为 ...
外观模式(Facade):又称门面模式,是给子系统或客户端一个一致的界面,从面定义一个高层的接口,这个接口使得子系统或客户端更加容易使用。从而降低了子系统或客户端调用不同接口带来的复杂性。
如图:
未使用外观 ...
工厂模式:客户端不需要知道具体的实现,客户端只需要面向接口编程就行,这样是客户端从具体的实现中解耦和。分为简单工厂模式、工厂方法模式、抽象工厂模式
一、抽象工厂模式
网上的一个例子:一个客户告诉装机 ...
原型模式:也是一种创建型模式,它关注的是系统中需要创建大量对象,但对象之间有很多相似之处或者对象基本相同。
原型模式有两种不同的实现:1、简单形式 2、登记形式一、简单形式
public interface Prototype{
public Object clone();
}
public class P1 implements Prototype{
public Prototype clone(){
Prototype p=new P1;
return p;
}
}
public class ...
适配器模式:将一个类的接口转化成客户需要的另外一个接口,Adapter模式原本为那些接口不兼容而不能一起工作的接口设计。
设配器模式分为:示例:
一、类适配器 :通过继承实现
public interface IMailer{
void sendMail();
}
public class OuterMailer{
void sendMail();
}
//设配器
public class MailAdapter extends OutMailer implements IMailer{
public void sendMai ...
建造模式:就是把复杂的创建过程封装在内部,对外部来说只需要传入建造者和建造工具,不需要关心内部的具体实现。
示例:
假如我们要生产一台笔记本,笔记本由A、B、C三部分组成,这时我们可以A\B\C三部分的 ...
单例模式是设计模式中常用的一种模式,解释为:一个类仅有一个实例。单列模式分为两种:1、饿汉式 2、懒汉式
一、饿汉式 :第一次class加载时,对象就创建。
public class Singleton(){
//私有构造,外部不能直接new该对象
private Singleton(){}
//调用私有方法,内部构建对象
private static Singleton instance=new Singleton();
//提供外部访问权限的方法,得到对象
public Singleton getInstance(){
...