摘要: 访问者模式:常用在需要对系统添加新的功能,但是不希望破坏原有的结构,这个时候就可以使用访问者模式。使用前提是数据结构很少发生改动,同时对数据的操作可能经常会添加新的操作。 代码如下 public class test { public static void main(String[] args) 阅读全文
posted @ 2016-08-21 21:49 Hey,Coder! 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 迭代器模式提供了一系列的方式,可以让我们按照指定得顺序来访问特定集合中的每个对象,这个访问的方式可以是从前往后遍历、从后往前、访问上一个元素、下一个元素、访问集合中第一个元素、最后一个元素。 使用迭代器模式让客户端不需要了解对象中的细节,又可以让外部的对象访问到对象内部的数据。 Java和c#中都提 阅读全文
posted @ 2016-08-20 18:46 Hey,Coder! 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 状态设计模式,GOF定义的23种设计模式之一,属于行为型模式。常用在需要根据对象的状态动态的改变队形的行为时。例如闹钟程序常见的功能,在工作日的时候会准时响起,休息日就不会打扰我们休息,这样的功能就可以使用状态模式来完成。 代码如下 public class test { public static void main(String[] args) { run r=new run(); for(i... 阅读全文
posted @ 2016-08-18 20:04 Hey,Coder! 阅读(283) 评论(0) 推荐(0) 编辑
摘要: 备忘录模式 备忘录模式,也叫做快照模式。常用在需要临时保存对象当前状态的场景中,如游戏中的保存进度场景。当我们需要还原时,只需要重新加载之前保存的对象即可。属于GOF定义的23种设计模式。个人认为是比较简单的一种设计模式。 需要注意的是当需要保存的对象过多或者内容过大是,使用备忘录模式就可以产生性能 阅读全文
posted @ 2016-08-17 20:03 Hey,Coder! 阅读(190) 评论(0) 推荐(0) 编辑
摘要: asp.net 发送邮件 System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage(); msg.To.Add("sheyou@sheyouyun.com"); msg.From = new MailAddress("renhanlinbsl@163.com", "renhan... 阅读全文
posted @ 2016-08-11 16:14 Hey,Coder! 阅读(145) 评论(2) 推荐(0) 编辑
摘要: 建造者模式,又称生成器模式。建造者模式将复杂对象和这个对象的具体表示分离,使得相同的创建过程可以生成不同表示的对象。模板模式更多的是将具有相同执行过程的算法封装起来,使得相同的算法可以根据对象的不同产生一些不一样的地方,这与建造者模式的思维方式近乎一致。不过建造者模式讲究的是将相似对象的创建过程统一 阅读全文
posted @ 2016-08-07 01:56 Hey,Coder! 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 当我们需要重复的创建对象的时候,通常会使用工厂模式来创建对象,这样来减轻工作量。但工厂模式的局限性在于只能够针对相同类型的产品。比如某工厂有一条生产果冻的生产线,这条生产线可以生产不同口味的果冻,这样可以很方便使用工厂模式来生成不同口味的果冻。但是如果新加入了一条生成汽水的生产线,那么整个系统就需要 阅读全文
posted @ 2016-08-04 21:08 Hey,Coder! 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 常常会在程序中遇到多个子类有共同的方法以及相似的调用过程。这个时候我们就可以使用模板模式来解决这些重复性的工作,例如我们买东西的时候一般都是挑选商品、付款这样的步骤,区别仅仅是挑选的商品品种不一样而已,这个时候我们就可以使用模板模式。那么模板模式需要怎么来实现呢,如下图 代码如下: public c 阅读全文
posted @ 2016-08-03 21:28 Hey,Coder! 阅读(270) 评论(2) 推荐(0) 编辑
摘要: 之前总结了简单工厂模式,然后我们发现,如果需要添加一个新的产品的话,就需要对工厂就行修改,添加相应的判断语句,从而来创建需要的类型的对象。这样就提高了耦合性,维护起来也稍麻烦些。那么本文就总结下能够解决这个问题的另一种设计模式——工厂模式。 工厂模式:factory pattern。GOF定义的二十 阅读全文
posted @ 2016-08-02 20:32 Hey,Coder! 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 代理设计模式:Proxy Pattern。在真实对象与客户端对象之间加入一层中阶层,由这一 层中介来完成对真实对象的引用。 优点:可以让程序的业务逻辑更加清晰。客户端对象不需要了解真实对象的细节,所有 的调用均由代理来完成。扩展性更高。代理保护了真实对象。 常用的场景: 1. 远程代理:为一个位于不 阅读全文
posted @ 2016-08-01 20:26 Hey,Coder! 阅读(363) 评论(0) 推荐(0) 编辑