
Design Patterns
java Design Patterns
恋恋西风
专业图像处理,CT三维可视化,三维重建,CT后处理,软件开发, 熟悉OpenSSL、VTK、ITK 等第三方库;熟悉C/C++、java、C#,Python。 专注于手术导航系统开发。
展开
-
设计模式 Singleton 单例 懒汉,线程安全 JAVA
首先来明确一个问题,那就是在某些情况下,有些对象,我们只需要一个就可以了,比如,一台计算机上可以连好几个打印机,但是这个计算机上的打印程序只能有一个,这里就可以通过单例模式来避免两个打印作业同时输出到打印机中,即在整个的打印过程中我只有一个打印程序的实例。简单说来,单例模式(也叫单件模式)的作用就是保证在整个应用程序的生命周期中,任何一个时刻,单例类的实例都原创 2015-07-09 21:32:40 · 651 阅读 · 0 评论 -
设计模式-工厂模式
一、工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。工厂模式在《Java与模式》中分为三类:1)简单工厂模式(Simple Factory):不利于产生系列产品;2)工厂方法模式(Factory Method):又称为多形性工厂;3)抽象工厂模式(Abstract Factory):又称为工具箱,产生产品族原创 2015-07-09 22:02:41 · 615 阅读 · 0 评论 -
设计模式(Design Patterns)-可复用面向对象软件的基础 06:适配器模式(Adapter)
一、写在前面的话之前的几篇文章分析了5种创建型模式,从设计模式(Design Patterns)-可复用面向对象软件的基础 06这篇文章开始,继续介绍7种结构型模式:适配器模式、装饰模式、代理模式、外观模式、桥接模式、组合模式、享元模式,其中对象的适配器模式是各种模式的起源。二、适配器模式(Adapter)适配器模式将某个类的接口转换成客户端期望的另一个接口表示,目的是消除由于接口不匹转载 2017-09-01 11:54:34 · 287 阅读 · 0 评论 -
Java 中的代理模式及动态代理
代理代理是英文 Proxy 翻译过来的。我们在生活中见到过的代理,大概最常见的就是朋友圈中卖面膜的同学了。她们从厂家拿货,然后在朋友圈中宣传,然后卖给熟人。当然代理不是简单的实现卖东西,中间肯定要做一些东西,比如加代,呵呵。代理模式本质上的目的是为了(灵活)增强现有代码的功能。具体请向下看。按理说,顾客可以直接从厂家购买产品,但是现实生活中,很少有这样的销售模式。一般都是厂转载 2017-07-02 19:07:21 · 355 阅读 · 0 评论 -
java 策略模式 完全展现面向接口编程的经典样例
策略模式的定义:策略模式定义了一些列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变换。乍一看,也没看出个所以然来。举个栗子吧。假设我们要出去旅游,而去旅游出行的方式有很多,有步行,有坐火车,有坐飞机等等。而如果不使用任何模式,我们的代码可能就是这样子的。public class TravelStrategy { enum S转载 2017-07-27 13:57:35 · 506 阅读 · 0 评论 -
java 设计模式 之 原型模式
先看下定义:用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。这是什么鬼哦, 看不懂!不必过度在意,看代码。首先我们定义一个Person类public class Person{ private String name; private int age; private double height; private double we转载 2017-07-27 08:24:41 · 337 阅读 · 0 评论 -
java 观察者模式 简明版
先看下定义:定义对象间的一种一对多的依赖关系,当一个对象的状态发送改变时,所有依赖于它的对象都能得到通知并被自动更新;定义往往是抽象的,要深刻的理解定义,你需要自己动手实践一下。先来讲几个情景。情景1:有一种短信服务,比如天气预报服务,一旦你订阅该服务,你只需按月付费,付完费后,每天一旦有天气信息更新,它就会及时向你发送最新的天气信息。情景2:杂志的订阅,你只需向邮转载 2017-07-26 13:58:09 · 371 阅读 · 0 评论 -
java Build模式 建造者模式 简明版
什么是Builder模式:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示; 但是看完这个定义,并没有什么卵用,你依然不知道什么是Builder设计模式。在此个人的态度是学习设计模式这种东西,不要过度在意其定义,定义往往是比较抽象的,学习它最好的例子就是通过样例代码。我们通过一个例子来引出Builder模式。假设有一个Person类,我们通过该Person转载 2017-07-25 21:24:23 · 4071 阅读 · 1 评论 -
Java设计模式--修饰模式
什么是修饰模式修饰模式是面向对象模式的一种,该模式可以动态向类中添加新的功能。动态指的是在程序运行时候,而我们常用的扩展功能的方法是写一个子类继承父类,这样的继承是静态的,因为这样的扩展方法是程序编译时候就体现出来了。在上图中可以看到,接口类Component有2个实现,ConcreteComponent类和Decorator类,Decorator类和它的2个子类对Co转载 2017-07-31 16:44:20 · 629 阅读 · 1 评论 -
设计模式读书笔记-----状态模式
在介绍状态模式之前,我们先来看这样一个实例:你公司力排万难终于获得某个酒店的系统开发项目,并且最终落到了你的头上。下图是他们系统的主要工作(够简单)。 当你第一眼看到这个系统的时候你就看出来了这是一个状态图,每个框框都代表了房间的状态,箭头表示房间状态的转换。分析如下:房间有三个状态:空闲、已预订、已入住,状态与状态之间可以根据客户的动作来进行转换。定义每个状态的值。转载 2017-10-19 13:11:31 · 320 阅读 · 0 评论