
设计模式
文章平均质量分 82
灯盏菜
上火你就喝灯盏菜啊
展开
-
Java 开发 设计模式 总结详情(转载笔记)
一、设计模式的三个分类 创建型模式:对象实例化的模式,创建型模式用于解耦对象的实例化过程。结构型模式:把类或对象结合在一起形成一个更大的结构。行为型模式:类和对象如何交互,及划分责任和算法。行为型模式:类和对象如何交互,及划分责任和算法。 二、设计模式的六大原则 1、开闭原则(Open Close Principle) 开闭原则就是说对扩展...转载 2018-12-23 14:12:48 · 152 阅读 · 0 评论 -
Java 开发 设计模式 ----工厂方法模式(Factory Method)
工厂方法模式(Factory Method)工厂方法模式分为三种:11、普通工厂模式,就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。首先看下关系图:举一个发送邮件和短信的例子。首先,创建二者的共同接口: public interface Sender { public void Send(); } 其次,创建实现类:...翻译 2018-12-23 14:28:29 · 194 阅读 · 0 评论 -
Java 开发 设计模式 ----单例模式(Singleton)
单例模式(Singleton) 单例对象(Singleton)是一种常用的设计模式。在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。这样的模式有几个好处:1、某些类创建比较频繁,对于一些大型的对象,这是一笔很大的系统开销。2、省去了new操作符,降低了系统内存的使用频率,减轻GC压力。3、有些类如交易所的核心交易引擎,控制着交易流程,如果该类可以创建多个...转载 2018-12-23 14:52:59 · 179 阅读 · 1 评论 -
【设计模式】--反射
1、什么是反射?Java反射就是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;并且能改变它的属性。而这也是Java被视为动态(或准动态,为啥要说是准动态,因为一般而言的动态语言定义是程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言。从这个观点看,Perl,Python,Ruby是动态语言,C++,Java,C#不是动...原创 2019-03-28 10:01:15 · 1021 阅读 · 0 评论 -
Java 开发 设计模式 ----行为型模式【策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式】
创建型模式:对象实例化的模式,创建型模式用于解耦对象的实例化过程。结构型模式:把类或对象结合在一起形成一个更大的结构。行为型模式:类和对象如何交互,及划分责任和算法。行为型模式第一类:通过父类与子类的关系进行实现。第二类:两个类之间。第三类:类的状态。第四类:通过中间类策略模式(strategy)定义一系列算法,把他们封装起来,并且使它们可以相互替换。策...转载 2019-04-21 17:52:59 · 230 阅读 · 0 评论 -
Java 开发 设计模式 ----创建型模式【单例模式,工厂模式,建造者模式,原型模式】
1、单例模式(Singleton)基本概念:保证一个类仅有一个实例,并提供一个访问它的全局访问点。懒汉式public class Singleton { /* 持有私有静态实例,防止被引用,此处赋值为null,目的是实现延迟加载 */ private static Singleton instance = null; /* 私有构造方法...转载 2019-04-22 11:29:42 · 437 阅读 · 1 评论 -
Java 开发 设计模式 ----结构型模式【 适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式】
1、适配器模式(Adapter)适配器模式将某个类的接口转换成客户端期望的另一个接口表示,目的是消除由于接口不匹配所造成的类的兼容性问题。主要分为三类:类的适配器模式、对象的适配器模式、接口的适配器模式。用电器做例子,笔记本电脑的插头一般都是三相的,即除了阳极、阴极外,还有一个地极。而有些地方的电源插座却只有两极,没有地极。电源插座与笔记本电脑的电源插头不匹配使得笔记本电脑...转载 2019-04-22 12:00:46 · 292 阅读 · 0 评论 -
Java 开发 设计模式 ----策略模式strategy
策略模式 strategy策略模式 strategy 定义了一系列算法,并将每个算法封装起来,使得他们可以相互转化,且算法的变化不会影响到使用算法的客户。需要设计一个接口,为一系列实现类提供统一的方法,多个实现类实现该接口,设计一个抽象类(辅助类)。ICalculator提供统一的方法。AbstractCalculator是辅助类,提供辅助方法,接下来,依次实现下每个类:首先...原创 2019-04-20 13:57:49 · 273 阅读 · 0 评论