- 博客(9)
- 资源 (1)
- 收藏
- 关注
原创 JAVA 建造者模式
今天看到建造者模式,于是小小地实现了一下,这个模式让我想起做手机游戏时的cocos2dx,这个框架的绘图应该也用的这个功能,里面有一个导演类,通过静态方法来产生对象。该处实现的不是用静态方法,其实还是通过Director类来屏蔽了具体的细节,当创建对象的算法独立于该对象的组成部分以及装配方式时适用。代码如下:package tom.java.com;import java.util.Ar
2015-02-05 00:32:49 394
原创 JAVA 外观模式
初学者可能会觉得外观模式和前面的代理模式有相似之处,但是这是两个不同的模式,因为外观模式是用来屏蔽内部实现的具体操作,而代理模式是代理类和具体的实现类继承于同一个接口,而且代理类仅仅起到代理的作用。代码如下: package tom.java.com;public class FacadeTry { public static void main(String[] args) {
2015-02-02 20:20:31 286
原创 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 392
原创 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 452
原创 JAVA 工厂模式(计算器) (修改版)
之前写过一个简单工厂模式的计算器,现在使用工厂模式来实现一下,区别在于工厂模式将工厂类使用多态的方式来实现,工厂类是接口,多个工厂类来实现这个接口,每个工厂类又只能产出一种对象。这样的好处是实现了开放-封闭原则,即对扩展开放,对修改封闭。此处我还有一个疑问就是:选择哪个工厂类这个任务怎么来完成? 还不是要通过一个判断,难道在客户端完成?求解! 如果我有答案会在本文后面以留言的形式加上。p
2015-01-31 14:23:24 626
原创 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 277
原创 杭电ACM 1004 JAVA
题目自己上杭电ACM网站上查,百度一搜就出来了。1004号题目比较简单,本人为了熟练一下JAVA特地写了2个数据结构,浪费了一些时间,其实JAVA类库中自带有,大家可以自己调用这样更方便。AC的版本如下:import java.util.Scanner;public class Main{ public static void main(String[] args
2015-01-30 00:18:02 1298 1
原创 简单工厂模式(计算器)(JAVA)
之前使用C++写过一个计算器功能,使用的设计模式是简单工厂模式,这次使用JAVA来实现。在此次编写的时候我发现一个问题,就是为什么工厂类要使用静态方法来实例化对象。原因是因为,如果不使用静态方法来实例化对象也可以,但是还需要先实例化工厂类再实例化需要的那个对象,这样就实例化了2个对象,实际上在程序中起运算作用的就只是后面那个而已,这样就浪费了空间,所以使用静态方法来实例化对象还是比较优化的
2015-01-16 18:54:58 1788 1
原创 简单工厂模式的计算器(C++)
最近学习一本叫做《大话设计模式》的书,书上的代码貌似是JAVA的,本人使用C++来实现了一下,实现方式上面有稍许不同,但是基本原理差不多,用的是简单工厂模式,经测试可以运行,下面贴上代码:(比较简单就不贴上注释了)io.h文件://#include "string"#include "logic.h"using namespace std;class CalIO {publ
2014-12-13 14:05:02 982
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人