随笔分类 - 设计模式
摘要:直觉地使用计算机机能理解的面向过程的方式去解决问题,会出现耦合的问题,是一种短期的方案,使得程序不容易维护与拓展。所以应该将面向对象的思想应用到程序设计当中,通过封装、继承、多态将程序的耦合度降低,运用设计模式增强程序的灵活性,使得它易于修改与复用。为了培养更好的编程思维与习惯,先从设计模式的学习与使用开始,希望有计划地学习设计模式,并且逐渐从了解到化为内用嘤嘤嘤!一、简单工厂模式:创建一个专门的
阅读全文
摘要:一、观察者模式 观察者模式又叫发布-订阅模式,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,这个主题对象的状态发生变化时会通知所有的观察者对象,使它们能够自动地更新自己。当一个对象的改变需要改变其他的对象的时候就可以用观察者模式。 二、结构图 Subject类是抽象的主题对象
阅读全文
摘要:一、建造者模式 当需要创建一些复杂的对象,而且这些对象当中的内部建造顺序稳定的时候,就可以使用建造者模式。 即是将一个复杂对象的构造与表示分离,使得同样的构建过程可以创建不同的表示,提了依赖倒转原则,细节依赖于抽象。 二、结构图 Product是具体产品; Builder是为创建一个Product对
阅读全文
摘要:外观模式就是为子系统的一组接口提供了一个一致的界面,既定义一个高层接口,来简化客户端对子系统的接口方法的调用。 这样,客户端就不需要知道系统内部调用的复杂联系,只需要通过一个统一的接口与系统交互。 就像股民炒股,新手直接进行投资可能风险很大不易上手,但是如果都投入基金,将多个股民的资金汇集在一起,就
阅读全文
摘要:一、原型模式 原型模式就是从一个对象再创建另一个可定制的对象,而且不需要知道任何创建的细节。 二、基本的原型模式 这里模拟简历的创建与复制来说明原型模式的应用。 输出结果: 三、原型模式中的浅复制与深复制 上面的Resume类通过实现Cloneable接口才能使用clone方法,进行对象的克隆。 J
阅读全文
摘要:一、代理模式的作用 远程代理:为一个对象在不同的地址空间提供局部代表,以此隐藏一个对象存在于不同地址空间的事实。 虚拟代理:根据需要创建开销很大的对象。通过它来存放实例化需要很长时间的真是对象。 安全代理:用来控制真实对象访问时的权限。 智能指引:当调用真实的对象时,代理处理另外一些事。 二、简单实
阅读全文
摘要:一、装饰模式 动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更加灵活。 将不同的装饰功能,即需要向原有类添加的功能集成于不同的类当中,让这个类包装所要修饰的对象。 那么当需要有顺序地执行特殊的行为时,就可以采用装饰模式了。 二、实现思路
阅读全文
摘要:一、策略模式: 如果说简单工厂模式对对象分类, 那么策略模式就是对相似逻辑算法分类, 将算法的切换变成一个目标可变的行为, 由策略决定行为。 二、基本思路: 1.创建策略抽象类,定义所有支持的算法的公共接口; 2.继承抽象类,策略具体化; 3.定义Context类作为上下文承接的角色,是使用了某种策略的类,通过策略改变自身行为。三、简单样例: 以简单收银软件为例,灵活解决原价、打折...
阅读全文

浙公网安备 33010602011771号