同步一个方法可能造成程序执行效率下降100倍.
静态初始化的控制权是在Java手上
一个类,一个责任 原则. ( 类应该做一件事,而且只做一件事) 但单件做了两件事, 一是 管理自己的实例(并提供全局访问变量) 二是在应用程序中担任角色,
(1). 私有构造器.不提供对外访问 (2). 静态方法对外提供类本身实例. (3) . 只有一个实例
单例模式: ( ...
分类:
其他好文 时间:
2014-05-16 01:31:32
阅读次数:
245
设计模式是一套由软件界前辈们总结出的可以反复使用的编程经验,旨在提高代码的可重用性,提高系统的可维护性,以及解决一系列复杂问题。设计模式包括6大设计原则和23种种设计模式。6大设计原则:单一职责原则SRP 应该有却仅有一个原因引起类的变更,即类最好只实现一种功能。高内聚。 单一职责的实现方式是一个职...
分类:
其他好文 时间:
2014-05-16 01:12:27
阅读次数:
293
单例模式Singleton Pattern 确保类只有一个实例,而且自行实例化并向整个系统提供这个实例
public class Singleton{ private static final Singleton singleton = new
Singleton(); ...
分类:
其他好文 时间:
2014-05-16 00:59:09
阅读次数:
281
适配器模式
现有一个接口DataOperation定义了排序方法sort(int[]) 和查找方法search(int[], int),已知类QuickSort的quickSort(int[])方法实现了快速排序算法,类BinarySearch 的binarySearch(int[], int)方法实现了二分查找算法。现使用适配器模式设计一个系统,在不修改源代码的情况下将类QuickSort和类BinarySearch的方法适配到DataOperation接口中。绘制类图并编程实现。 (要求实现快速排序和...
分类:
编程语言 时间:
2014-05-15 23:07:47
阅读次数:
423
原型模式(PrototypePattern)是一种对象创建型模式,用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象。原型模式允许一个对象再创建另外一个可定制的对象,无须知道任何创建的细节。
原型模式的基本工作原理是通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝原型自己来实现创建过程。其实很多软件提供的复制(Ctrl +C)和粘贴(Ctrl + ...
分类:
其他好文 时间:
2014-05-15 23:02:37
阅读次数:
337
Singleton1.javapackage edu.singleton;/*** *
把该类设计成单例设计模式(饿汉式) */public class Singleton1 { // 定义一个本类对象并实例化 private static
Singleton1 singleton = ...
分类:
其他好文 时间:
2014-05-15 22:41:16
阅读次数:
317
在进行控件封装时,通常会定义一个通用操作的接口,只要满足此接口,都可以使用控件承载其功能,但是当需要扩展控件基本功能的时候,难免会在此接口中添加其他的定义,那么实现了此接口的所有类定义都必须的添加新的方法,改动非常大。通常的做法是使用一个抽象类实现此接口,其他需要扩展此接口的类都继承自此抽象类,而非...
分类:
其他好文 时间:
2014-05-15 22:26:17
阅读次数:
302
一起学java设计模式--代理模式(结构型模式)...
分类:
编程语言 时间:
2014-05-15 19:54:35
阅读次数:
496
观察者模式是对依赖倒转原则很好的应用。单纯去看依赖倒转原则,我并不明白。什么“抽象不能依赖细节,细节要依赖抽象的”。看完观察者模式后,我觉得这一原则还是很经典,很实用的。
下面就利用《大话设计模式》中,举的前台和看股票的观察者模式的例子,来说一下我对这一原则的理解。
没有用观察者模式时:
具体的通知者(Secretary)和具体的观察者(StockObserver)二...
分类:
其他好文 时间:
2014-05-15 18:36:15
阅读次数:
249
JAVA的动态代理
代理模式
代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供特定的服务。
按照代理的创建时期,代理类可以分为两种...
分类:
编程语言 时间:
2014-05-15 18:18:25
阅读次数:
374