在探讨Java组合模式之前,先要明白几个概念的区别:继承、组合和聚合。继承是is-a的关系。组合和聚合有点像,有些书上没有作区分,都称之为has-a,有些书上对其进行了较为严格区分,组合是contains-a关系,聚合是has-a关系。组合方式中被组合的对象生命周期不能超过整体,一般写代码时是直接在...
分类:
其他好文 时间:
2014-06-02 12:52:24
阅读次数:
224
Spring作为业界的经典框架,无论是在架构设计方面,还是在代码编写方面,都堪称行内典范。今天螃蟹就spring所用到的设计模式进行详细说明,用例子教你如何应用设计模式
分类:
编程语言 时间:
2014-06-02 08:00:02
阅读次数:
300
所有的设计模式都是对不同的可变性的封装,从而使系统在不同角度达到“开闭原则”的要求。
在软件软件系统中,一个模块设计得好不好的最主要、最重要的标志,就是该模块在多大程度上将自己的内部数据和其他与实现有关的细节隐藏起来。一个设计得好的模块可以将它所有的实现细节隐藏起来,彻底地将提供给外界...
分类:
编程语言 时间:
2014-06-02 07:17:08
阅读次数:
271
1.永远不要假设自己想象不到或是不能大体估算出全局的复杂状况,永远要假设想象力以外的事务是一切良好
的,哪怕凭经验知道会很复杂,以当前掌握的知识和想象力构思不出来的东西,也要忘记它的存在,这里重申,心外无物,利用系统反馈问题,利用系统的运行来勾勒系统的设计。2.设计不要死套公式,不要盲目追求范式或经...
分类:
其他好文 时间:
2014-06-02 06:38:48
阅读次数:
198
装饰者模式是JDK中另一个使用较多的设计模式,上一个是观察者模式(在Swing中大量使用),业内好的API设计无一离不开常见的设计模式,通常我们所说要阅读源码,也是为了学习大牛们的设计思路。————题记
设计模式
观察者模式:定义了对象之间一对多的依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会受到通知并自动更新。
装饰者模式:动态地将责任附加到对象上。若要扩展功能,装饰者提...
分类:
其他好文 时间:
2014-06-02 05:31:47
阅读次数:
234
设计模式
单件模式:确保一个类只有一个实例,并提供一个全局访问点。
要点
单件模式确保程序中一个类最多只有一个实例。
在Java中实现单件模式需要私有的构造器、一个静态方法、一个静态变量。
确定在性能和资源上的限制,然后小心翼翼的选择适当的方案来实现单件,以解决多线程问题。
全局变量缺点
如果将对象赋值给一个全局变量,那么必须在程序一开始就创建好对象。万一对象非常耗费...
分类:
其他好文 时间:
2014-06-02 05:00:32
阅读次数:
215
机房收费系统进行有一段时间了,但是始终有些历史遗留问题。比如,如何MDI子窗体如何显示在上层的问题和MDI子窗体实例化的问题。
对于如何显示在上层的问题,我这次采用的还是SetParent函数,在模块里面添加:
'定义一个用来设置子窗体的函数
Declare Function SetParent Lib "user32" Alias "SetParent" (...
我们全都使用别人设计好的库与框架。我们讨论库与框架、利用他们的API编译成我们的程序、享受运用别人的代码所带来的优点。看看java api它所带来的功能:网络、GUI、IO等。库与框架长久以来,一直扮演着软件开发过程的重要角色,我们从中挑选所要的组件,把他们放进合适的地方。但是,库与框架无法帮助我们将应用组织成容易了解、容易维护、具有弹性的架构,所以要设计模式。
设计模式不会直接进入你的代码中,...
分类:
其他好文 时间:
2014-06-02 02:34:58
阅读次数:
254
单例模式(Singleton Pattern)
单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。...
分类:
其他好文 时间:
2014-06-02 02:16:50
阅读次数:
273
设计模式
工厂模式:定义一个创建对象的接口,但由子类决定要实例化的是哪一个。工厂方法让类把实例化推迟到子类。
所谓的“决定”,并不是指模式允许子类本身在运行时做决定,而是指在编写创建者类时,不需要知道实际创建的产品是哪一个。选择了使用这个子类,就自然的决定了实际创建的产品是什么。
抽象工厂模式:提供一个接口,用于创建相关或依赖对象的家族,而不需要指定具体类。
抽象工厂的任务时定义一...
分类:
其他好文 时间:
2014-06-02 02:15:39
阅读次数:
255