秒吧博客http://1024s.top/

好的开始是成功的一半,不要制定太长远的目标,同时不以战术的勤奋掩饰战略的懒惰,复杂思考简易行事,分而治之降低压力,以概率面对生活,时刻保持头脑清醒,防人之心不可无,广交慎择,顺其自然,近贤远佞,源代码...

设计模式-Builder模式

建造者模式(Builder pattern)通过将一个复杂对象的构建过程与它的表现分离,使得构建的过程可以自由扩展,降低部件与组装过程的耦合,是创建型模式。 考虑这样一个场景,假如有一个类(User),里面有很多属性,并且你希望这些类的属性都是不可变的(final),就像下面的代码。 pub...

2018-10-17 15:59:15

阅读数:12

评论数:0

GOF模式总结

创建型 Abstract Factory,抽象工厂模式,提供一个接口,可以创建一系列相关或相互依赖的对象,而无须指定它们具体的类。 Builder,生成器模式,将一个复杂类的表示与其构造相分离,使得相同的构建过程能够得出不同的表示。 Factory Method,工厂方法模式,定义一个创建对...

2017-09-22 10:13:26

阅读数:129

评论数:0

设计模式--代理模式

代理模式:为另一个对象提供一个替身或占位符以控制对这个对象的访问。被代理的对象可以是远程的对象、创建开销大的对象或需要安全控制的对象。   最后欢迎大家访问我的个人网站: 1024s...

2014-04-08 18:09:28

阅读数:492

评论数:0

设计模式--状态模式

状态模式:允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。 状态模式和策略模式很相似,二者的区别在于意图。对于状态模式而言,我们将一群行为封装在状态对象中,context的行为随时可委托到那些对象中的一个。对于策略模式而言,客户通常主动指定Context所要组合的策略对象是...

2014-04-08 17:58:08

阅读数:471

评论数:0

设计模式--组合模式

组合模式:允许你将对象组合成树形结构来表现“整体/部分”层次结构。组合能让客户以一致的方式处理个别对象以及对象组合。使用组合模式,我们能把相同的操作应用在组合和个别对象上。 最后欢迎大家访问我的个人网站: 1024s...

2014-04-08 17:42:10

阅读数:439

评论数:0

设计模式--迭代器模式

迭代器模式:提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。把游走的任务放在迭代器上,而不是聚合上。这样简化了聚合的接口和实现,也让责任各得其所。 设计原则:尽量让每个类保持单一责任,也就是只有一个引起变化的原因。 最后欢迎大家访问我的个人网站: 1024s...

2014-04-08 17:33:18

阅读数:450

评论数:0

设计模式--模板方法模式

模板方法模式:在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。 算法内的步骤不要切割的太细,否则会较没有弹性。 钩子是一种被声明在抽象类中的方法,但只有空的或者默认的实现。钩子的存在,可以让子类有能力对算法的...

2014-04-08 17:11:15

阅读数:507

评论数:0

设计模式--外观模式

外观模式:提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。 适配器是包装一个类,而外观模式是包装多个类。而且,外观意图是简化接口,而适配器的意图是将接口转换成不同的接口。 设计原则:最少知识原则:只和你的密友谈话。不要让太多的类耦合在一起,免得修改...

2014-04-08 16:14:37

阅读数:394

评论数:0

设计模式--适配器模式

适配器模式:将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。 以上是对象适配器的图。 以上是类适配器的图。   最后欢迎大家访问我的个人网站: 1024s...

2014-04-08 16:08:13

阅读数:421

评论数:0

设计模式--命令模式

命令模式:将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。 命令者将对象动作和接收者包进对象中,   public interface Command{ public void excute(); } public class Li...

2014-04-08 15:48:11

阅读数:486

评论数:0

设计模式--单件模式

单件模式:确保一个类只有一个实例,并提供一个全局访问点。 采用私有构造器。 1.懒汉,线程安全     public class Singleton { private static Singleton instance; private Singleton...

2014-04-08 15:20:55

阅读数:540

评论数:0

设计模式--工厂模式

简单工厂:这其实不是一个设计模式,反而比较像一种编程习惯。 利用一个静态方法定义一个简单工厂是很常见的方法,常称为静态工厂。虽然可以在使用方法时,不用实例化方法,但也不能通过继承来改变创建方法的行为。 工厂方法模式:定义一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实...

2014-04-08 15:14:46

阅读数:487

评论数:0

设计模式--装饰者模式

装饰者模式:动态将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。 设计原则:类应该对扩展开放,对修改关闭。 我们只需要将注意力集中在设计中最有可能改变的地方,然后应用开放-关闭原则。   最后欢迎大家访问我的个人网站: 1024s...

2014-04-08 14:16:45

阅读数:475

评论数:0

设计模式--观察者模式

观察者模式:定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。 设计原则:为了交互对象之间的松耦合设计而努力。 改变主题或观察者其中一方,并不会影响另一方。因为两者是松耦合,只要他们之间的接口仍被遵守。 实现观察者模式的方法不只一种,但是以...

2014-04-08 11:38:19

阅读数:457

评论数:0

设计模式--策略模式

策略模式定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。 设计原则:多用组合,少用继承。封装变化。针对接口编程,不针对实现编程。 原则和模式可以在软件开发生命的任何阶段应用。       这里把鸭子的飞行的行为想像为“一族算法”。 封装变化...

2014-04-08 11:05:57

阅读数:439

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭