
设计模式
若疆赤云online
这个作者很懒,什么都没留下…
展开
-
工厂模式学习笔记
工厂方法模式:定义了一个创建对象的接口,但由子类决定要实例化的类时哪一个,工厂方法让类把实例化推迟到子类。 工厂方法模式能够封装具体类型的实例化。 将创建对象的代码集中在一个对象或方法中,可以避免代码中的重复,并且更方便以后的维护。这也意味着客户在实例化对象时,只会依赖于接口,而不是具体类。可以帮助我们针对接口编程。而不针对实现编程。让代码更具有弹性,可以应对未来的扩展。 加载配置文件: ...原创 2017-11-19 15:17:09 · 183 阅读 · 0 评论 -
代理模式学习笔记
代理模式的定义:为其他对象提供一种代理以控制对这个对象的访问。 代理对象起到中介作用,可去掉功能服务或增加额外的服务。 常见的代理模式: ①远程代理:为不同地理的对象提供局域网代表对象 ②虚拟代理:根据需要将资源消耗很大的对象进行延迟,真正需要的时候进行创建 ③保护代理:控制对一个对象的访问权限 ④智能引用代理:提供对目标对象额外的服务 代理模式实现 ①静态代理:代理和被代理...原创 2017-11-19 15:56:35 · 236 阅读 · 0 评论 -
设计模式-概念(策略模式,观察者模式,装饰者模式)
策略模式:定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。 如果每次新的需求一来,都会使某方面的代码发生变化,那么你就可以确定,这部分的代码需要被抽出来,和其他稳定的代码有所区分。 把会变化的部分取出来并封装起来,以便以后可以轻易地改动或扩充此部分,而不影响不需要变化的其他部分。 分开变化和不会变化的部分。 学习要点: ①知道OO基础,并不...原创 2017-11-22 16:48:33 · 463 阅读 · 0 评论 -
设计模式-(命令模式、适配器模式、外观模式)
命令模式将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。 一个命令对象通过在特定接收者上绑定一组动作来封装一个请求。要达到这一点,命令对象将动作和接收者包进对象中。这个对象只暴露出一个execute()方法,当此方法被调用的时候,接收者就会进行这些动作。从外面来看,其他对象不知道究竟哪个接受者进行了哪些动作,只知道如果调用execute()方法...原创 2017-11-23 17:33:41 · 691 阅读 · 0 评论 -
设计原则整理
设计原则: ①找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。 ②针对接口编程,而不是针对实现编程。 ③多用组合,少用继承。 ④为了交互对象之间的松耦合设计而努力。 ⑤类应该对扩展开放,对修改关闭 ⑥要依赖抽象,不要依赖具体类 ⑦最少知识原则:只和你的密友谈话 ⑧别调用我们,我们会调用你。 ⑨一个类应该只有一个引起变化的原因...原创 2017-11-24 11:35:38 · 146 阅读 · 0 评论 -
设计模式-模版方法模式
模版方法模式:在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模版方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。 对模版方法进行挂钩:钩子是一种被声明在抽象类中的方法,但只有空的或者默认的实现。钩子的存在,可以让子类有能力对算法的不同点进行挂钩。要不要挂钩,由子类自行决定。 学习要点: ①“模版方法”定义了算法的步骤,把这些步骤的实现延迟到子类 ②模版方法模...原创 2017-11-27 10:21:37 · 180 阅读 · 0 评论