设计原则:应对系统可能需要的变化以及应付变化

1.找出变化,独立出来

2.针对接口编程,而非针对实现编程

即针对超类型编程,根据实际情况执行到真正的行为,变量的声明通常是一个超类型或一个接口,具体实现此超类型的类所产生的对象都可指定给此变量

3.多用组合,少用继承

4.交互对象之间的松耦合

即相互关联的对象不会因为自身的改变而影响对方

(1)策略模式:定义了算法族,将其封装,让它们之间可以互相替换,且让算法的变化独立于使用算法的客户。

StrategyPattern

总结:

a. 超类中定义子类中必须继承的变量或行为

b. 子类中有变化且不一定存在的行为抽象为一个接口

优点:

a. 可在运行时动态的改变行为

b. 当增加其它行为或类时无需对原有子类进行更改

适用实例:

游戏中角色(属性、技能):技能可能会改变

(2)观察者模式:在对象之间定义一对多的依赖,当一个对象改变状态时,依赖它的对象

ObservePattern(推式方式)

推式方式:

将所有数据推送给观察者

拉式方式:

为观察者提供主题的引用,由观察者自行取数据

具体应用:

JavaBeans、GMI

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 设计模式汇总 一、基础知识 1. 设计模式概述 定义:设计模式(Design Pattern)是一套被反复使用、多...
    MinoyJet阅读 4,095评论 1 15
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,872评论 11 349
  • 中午腿查了成绩大阪府立合格 真的是超级开心的 努力一年真的没白费 由衷祝福 老觉得自己比别人多带一件事慢半拍 人家...
    岑阿阿岑阅读 184评论 0 0
  • 工作中难免与人争执辩论,但一定要注意语调和态度。 无论何时都不应该用很大的声音与对方交流。自己以为没有激动生气...
    认知牛阅读 362评论 0 0

友情链接更多精彩内容