您的位置:首页 > 编程语言 > Java开发

java设计模式个人总结(第一篇)

2017-11-30 22:20 246 查看
java设计模式可将其分为三种类型:创建型、结构型、行为型。

创建型有:
工厂模式(
Factory单例模式(singletonBuilder模式(生成器模式)原型模式(Prototype

.工厂模式(Factory(典型案例:制造商品流水)
总结:工厂模式一般分为两种,普通工厂模式和抽象工厂模式;
普通工厂模式分为:简单工厂模式、多个工厂模式、静态工厂模式。

普通工厂模式可概括为:
1.提供一个接口,操作类实现该接口,重写其接口下的方法
(面向接口编程)
2.书写一个工厂类,用于提供操作类的类对象,方便其调用。(这里分为多个工厂模式,静态工厂,只是工厂类中提供的调用方法为静态的或者为具体的操作对象)
3.用户调用操作类时,只需要调用工厂方法中提供的对象。

抽象工厂模式可概括为:
1.提供一个抽象工厂类,里面提供一些操作产品属性的抽象方法并返回属性的基类
(面向抽象编程,利用了多态)
2.书写每个抽象的基类,并提供抽象的操作方法
3.书写一个操作类,继承对应的基类;重写其下操作方法
4.书写一个工厂类,来继承抽象工厂类并重写其方法,每个重写的方法返回的是具体操作类的对象,为了实现对应产品的功能。

.单例模式(singleton(典型案例:整个操作同一个类)
总结:某些类创建比较频繁,对系统来说是一笔大开销。使用单例模式,省去了new对象,降低了系统内存的使用频率,减轻GC压力;
定义:提供一个对象的实例给用户使用。
单例模式的使用:单例模式应该根据不同的场景,使用不同的单例模式。总体可以划分为:简单单例模式,多线程单例模式,双重锁定,静态初始化等。

.Builder模式(生成器模式)(典型案例:AndroidAlertDialog)

总结:定义:复杂对象,构建分离;使得同样的构建过程,设置属性不同,创建出的产品就不同。

.原型模式(Prototype(典型案例:克隆复制产品)

总结:定义:原型模式主要用于对象的复制,它的核心是就是类图中的原型类Prototype。

原型模式是一种比较简单的模式,也非常容易理解,实现一个接口,重写一个方法即完成了原型模式。在实际应用中,原型模式很少单独出现。经常与其他模式混用,他的原型类Prototype也常用抽象类来替代。

好处:1.使用原型模式创建对象比直接new一个对象在性能上要好的多,因为Object类的clone方法是一个本地方法,它直接操作内存中的二进制流,特别是复制大对象时,性能的差别非常明显。
2.使用原型模式的另一个好处是简化对象的创建,使得创建对象就像我们在编辑文档时的复制粘贴一样简单。

因为以上优点,所以在需要重复地创建相似对象时可以考虑使用原型模式。比如需要在一个循环体内创建对象,假如对象创建过程比较复杂或者循环次数很多的话,使用原型模式不但可以简化创建过程,而且可以使系统的整体性能提高很多。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息