![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 73
杀人越货_elliot
努力成为大牛~~~
展开
-
23种设计模式之代理模式2
代理模式是一个使用率非常高的模式,其定义如下: 为其他对象提供一种代理以控制对这个对象的访问。 代理模式也叫委托模式。它是一个基本设计技巧。许多其他的模式比如状态模式、策略模式、访问者模式本质上是在更特殊的场合采用了委托模式,而且在日常的应用中,代理模式可以提供非常好的访问控制。在一些著名的开源软件中经常能看到它的身影,如Struts2的Form元素映射就采用的代理模式,准确的说是动态原创 2015-07-12 17:00:27 · 404 阅读 · 0 评论 -
23种设计模式之工厂方法模式
嗯嗯,我们来以女娲造人为例子吧,AbstractHumanFactory类是一个抽象类,定义了一个八卦炉具有的功能。 HumanFactory是实现类,完成创建人类的。 Human接口是人类总称。 其他三个类分别是三类人种:NvWa类是一个场景类,负责模拟这个场景。 我们定义的每个人种都有两个方法:getColor()获取人类皮肤的颜色,和talk交谈。代码如下: 人原创 2015-06-18 17:03:33 · 334 阅读 · 0 评论 -
23种设计模式之代理模式
`` 我们定义一个接口为IGamePlayer,代表游戏玩家。 定义一个具体的实现类GamePlayer,用于实现游戏者的游戏功能。我们先来看看IGamePlayer,代码如下: public interface IGamePlayer{ //登录游戏 public void login(String user,String password); //杀怪 public void killB原创 2015-07-12 16:21:50 · 332 阅读 · 0 评论 -
设计模式之禅之模版方法模式
我们来已车子为例。 悍马车有两个型号,H1和H2。代码如下: 抽象悍马模型: public abstract class HummerModel { public abstract void start();//开车 public abstract void stop();//停车 public abstract void alarm();//喇叭 public abstract v原创 2015-07-08 16:17:17 · 428 阅读 · 0 评论 -
23种设计模式之抽象工厂模式
抽象工厂模式是工厂方法模式的升级版本,在有多个业务品种,业务分类时,通过抽象工厂模式产生需要的对象是一种非常好的解决方式。 1抽象产品类 public abstract class AbstractProductA { //每个产品共有的方法 public void shareMethod(){} //每个产品相同方法,不同实现 public abstract void doSome原创 2015-06-23 16:07:07 · 354 阅读 · 0 评论 -
23种设计模式之原型模式(二)
我们接着上面的接着研究: 是把sendMail()修改成多线程的问题,但是改成多线程还是有问题呀,产生第一封邮件对象,放到线程一中运行,还没有发送出去;线程二也启动了,直接就把对象mail的收件人地址称谓全都改掉了,线程就不安全了。说道这里,你会说这有n种方式去解决,其中一种就是使用一种新型模式来解决这个问题:通过对象的复制功能来解决这个问题。 我们只需要给Mail类增加一个Clo原创 2015-06-18 09:52:46 · 449 阅读 · 0 评论 -
23种设计模式之原型模式(一)
原型模式 首先在这里感谢设计模式之禅这本书给我的启发,让我学到了很多东西。下面的部分内容就是借鉴此书。 举一个例子来更加清楚的解释原型模式: AdvTemplate类是一个广告信的模板,一般都是从数据库中取出,这里我们使用一个静态的值来做代表,Mail类是一封邮件类,发送机发送的就是这个类,我们先来看看下AdvTemplate类: public class AdvTemplate原创 2015-06-17 23:26:27 · 355 阅读 · 0 评论