![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式(JAVA)
文章平均质量分 79
herotom1990
这个作者很懒,什么都没留下…
展开
-
JAVA 简单clone和深度clone(理论部分借鉴)
刚才在看JAVA的原型模式,碰到了clone方法,于是拿来练了一下手,下面分为简单克隆和深度克隆: package tom.java.com;public class CloneTry { public static void main(String[] args) throws CloneNotSupportedException { // TODO Auto-generate原创 2015-01-31 18:10:01 · 383 阅读 · 0 评论 -
JAVA 代理模式
代理模式这里,通过代理类来隔离客户端和服务器端。JAVA代码如下,如果有新见解再通过留言添加。package tom.java.com;public class Proxy {public static void main(String[] args) {// TODO Auto-generated method stubMM mm = new MM("123");DaiLi dl = new原创 2015-01-31 00:54:49 · 271 阅读 · 0 评论 -
简单工厂模式(计算器)(JAVA)
之前使用C++写过一个计算器功能,使用的设计模式是简单工厂模式,这次使用JAVA来实现。在此次编写的时候我发现一个问题,就是为什么工厂类要使用静态方法来实例化对象。原因是因为,如果不使用静态方法来实例化对象也可以,但是还需要先实例化工厂类再实例化需要的那个对象,这样就实例化了2个对象,实际上在程序中起运算作用的就只是后面那个而已,这样就浪费了空间,所以使用静态方法来实例化对象还是比较优化的原创 2015-01-16 18:54:58 · 1779 阅读 · 1 评论 -
JAVA 工厂模式(计算器) (修改版)
之前写过一个简单工厂模式的计算器,现在使用工厂模式来实现一下,区别在于工厂模式将工厂类使用多态的方式来实现,工厂类是接口,多个工厂类来实现这个接口,每个工厂类又只能产出一种对象。这样的好处是实现了开放-封闭原则,即对扩展开放,对修改封闭。此处我还有一个疑问就是:选择哪个工厂类这个任务怎么来完成? 还不是要通过一个判断,难道在客户端完成?求解! 如果我有答案会在本文后面以留言的形式加上。p原创 2015-01-31 14:23:24 · 619 阅读 · 0 评论 -
JAVA 装扮模式 (修改版)
装扮模式:按照书上的代码自己写了一下,感觉不太好理解,等下次理解了再来补充一下: package tom.java.com;public class ZhuangBan { public static void main(String[] args) { Human tom = new Human("tom"); Tshirt ts = new Tshirt(); Foo原创 2015-01-31 14:26:40 · 445 阅读 · 0 评论 -
JAVA 外观模式
初学者可能会觉得外观模式和前面的代理模式有相似之处,但是这是两个不同的模式,因为外观模式是用来屏蔽内部实现的具体操作,而代理模式是代理类和具体的实现类继承于同一个接口,而且代理类仅仅起到代理的作用。代码如下: package tom.java.com;public class FacadeTry { public static void main(String[] args) {原创 2015-02-02 20:20:31 · 284 阅读 · 0 评论 -
JAVA 建造者模式
今天看到建造者模式,于是小小地实现了一下,这个模式让我想起做手机游戏时的cocos2dx,这个框架的绘图应该也用的这个功能,里面有一个导演类,通过静态方法来产生对象。该处实现的不是用静态方法,其实还是通过Director类来屏蔽了具体的细节,当创建对象的算法独立于该对象的组成部分以及装配方式时适用。代码如下:package tom.java.com;import java.util.Ar原创 2015-02-05 00:32:49 · 390 阅读 · 0 评论