HeadFirst设计模式

发布时间:2021-09-25 16:38:08

设计原则: 找出应用中可能需要的变化之处, 把他们独立出来, 不要把他们和不需要变化的代码混 淆在一起。 针对接口编程,而不是针对实现编程。 多用组合,少用继承。 为了对象之间的松耦合而努力。 类应该对扩展开放,对修改关闭。 依赖倒置原则(Dependency Inversion Principle):要依赖抽象,不要依赖具体类。 最少知识原则:只和你的密友谈话。 好莱坞原则:别调用我们,我们会调用你。 单一原则:一个类应该只有一个引起变化的原因。 『策略模式(Strategy Pattern)』定义了算法族,分别封装起来,让他们之间可以互相替换, 此模式让算法的变化独立于使用算法的客户。 『观察者模式(Observer Pattern)』定义了对象之间的一对多依赖,这样一来,当一个对想改 变状态时,他所有的依赖者都会收到通知并自动更新。 『装饰者模式(Decorator Pattern)』动态的将责任附加到对象上。若要扩展功能,装饰者提供 了比继承更有弹性的替代方案。 『工厂方法模式(Factory Method Pattern)』定义了一个创建对象的接口,但由子类决定要实 例化的类是哪一个类。工厂方法让类把实例化推迟到子类。 『抽象工厂模式(Abstract Factory Pattern)』提供一个借口, 用于创建或依赖相关对象的家族, 而不需要明确指定具体类。 『单件模式(Singleton Pattern)』确保一个类只有一个实例,并提供一个全局访问点。 『命令模式(Command Pattern)』将请求封装成对象,以便使用不同的请求、列队或者日志来 参数化其他对象。命令模式也支持可撤销的操作。 『适配器模式(Adapter Pattern)』将一个类的接口,转化成客户希望的领一个接口。适配器让 原本接口不兼容的类可以合作无间。 『外观模式(Facade Pattern)』提供了一个统一接口,用来访问子系统中的一群接口。外观定 义了一个高层接口,让子系统更容易使用。 『模板方法模式(Template Method Pattern)』在一个方法中定义一个算法的骨架,而将一些步 骤延迟到子类中。 模板方法使得子类可以在不改变算法结构的情况下, 重新定义算法中的某 些步骤。 『迭代器模式(Iterator Pattern)』提供了一种方法顺序访问一个聚合对象中的各个元素,而又 不暴露其内部的表示。 『组合模式(Composite Pattern)』允许你将对象组合成树形结构来表现“整体/部分”层次结 构。组合能让客户以一致的方式处理个别对象以及对象组合。 『状态模式(State Pattern)』允许对象在内部状态改变时改变它的行为,对象看起来好像修改 了它的类。 『代理模式(Proxy Pattern)』为另一个对象提供一个替身或占位符以控制对这个对象的访问。 『复合模式(CompositePattern)』结合两个或以上的模式,组成一个解决方案,解决一再发生 的问题。 模式是在某种情景(Context)下,针对某问题的某种解决方案。


相关文档

  • HeadFirst设计模式摘要
  • HeadFirst 设计模式(1)
  • HeadFirst设计模式 大话设计模式
  • headfirst设计模式读书总结——命令模式
  • 实验方案设计模版
  • 商业模式设计五步法
  • 以 “学”为中心的教学设计模式
  • HeadFirst设计模式流程图个人总结
  • HeadFirst 设计模式(1)综述
  • HeadFirst设计模式_中文版__07年度畅销榜NO_1_
  • 猜你喜欢

  • 人教版一年级数学上(6-10的连加连减)课件PPT
  • 智能建筑照明控制系统的设计分析
  • 2013-2014年3月全国水产品加工行业财务指标月报
  • 2016年广西公务员网络考试——创新驱动发展战略公务员读本4
  • 上海最好吃的青团店
  • Parallel Clustering of Large Document Collections blah
  • 新时期高校后勤基层党组织党建创新的思考
  • 中国社区型智能呼叫系统行业市场前瞻与投资规划分析报告2018年版(目录)
  • 探析环保工程项目管理的重要性
  • 韦应物:寄全椒山中道士
  • openssl生成私钥公钥的步骤
  • 新课程背景下科学课学生良好学**惯的培养
  • Pyhton2.7.x安装Pillow(图像处理库)
  • 滴灌玉米密植高产栽培技术
  • 0 湖南第一师范学院教科系德育考核细则
  • 新生儿呼吸衰竭80例临床分析
  • 绍兴安昌古镇旅游营销策略研究【开题报告】
  • myeclipse搭建webservice实例讲解
  • 劳动安全演讲稿:呼唤人性化管理与劳动最光荣演讲稿范文汇编
  • (参考)2019年高考数学大一轮复*第六章不等式推理与证明课时跟踪检测三十六合情推理与演绎推理
  • 结构体内存对齐,位段,枚举,联合
  • 瘰疬丸的功效与作用 药用价值 用法用量
  • 2011年英语六级考试语法辅导之助动词
  • 中国建设银行股份有限公司烟台莱山支行清莱路分理处企业信用报告-天眼查
  • 火灾如何正确报警
  • 上海贤坤灯饰电器有限公司企业信用报告-天眼查
  • 2012-2014年1季度华北地区气体压缩机械制造行业财务指标分析季报
  • 浅谈如何对聋哑学生付出爱心
  • MySQL学习(day3)
  • 幼儿园大班拼音教案: 认识单韵母
  • 公司场地租赁合同范本
  • 2015年西南大学音乐学院学术型考研专业目录_西南大学考研网
  • 精选-律师事务所实习总结_活动总结范文_活动总结格式报告-范文资料
  • 投资建设电梯专用变频器项目可行性研究报告模板
  • 深圳市海浪人力资源有限公司龙岗分公司(企业信用报告)- 天眼查
  • 关于麻雀作文
  • 基于PLS的城市水资源承载能力影响因子分析
  • 以勇气为话题的800字高中作文5篇
  • 精选2020特种设备管理人员测试题库100题(含标准答案)
  • 26个英语字母书手写体教学ppt课件
  • 甘肃省机械电子产品及配件零售行业企业分析报告2018版
  • 世界最大超豪华别墅客厅
  • 电脑版