`
huangyuanmu
  • 浏览: 289761 次
  • 性别: Icon_minigender_1
  • 来自: 龙城
社区版块
存档分类
最新评论

重温设计模式

阅读更多

策略模式: 定义了算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客体。


观察者模式:
在对象之间定义一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象都会收到通知,并自动更新。


装饰器模式: 动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。


工厂方法模式: 定义了一个创建对象的接口,但由子类决定要实例化的类是那一个。工厂方法让类把实例化推迟到子类。


抽象工厂模式: 提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。


单例模式: 确保一个类只有一个实例,并提供一个全局访问点。


命令模式: 将请求封装成对象,以便不同的请求、队列或者日志来参数化其它对象。命令模式也支持可撤销的操作。


适配器模式: 将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。


外观模式: 提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。


模板方法模式: 在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。


迭代器模式: 提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。


组合模式:
允许你将对象组合成树形结构来表现整体/部分层次结构。组合能让客户以一致的方式处理个别对象以及对象组合。


状态模式: 允许对象在内部状态改变时,改变它的行为,对象看起来好像修改了它的类。


代理模式:
为另一个对象提供一个替身或占位符以控制对这个对象的访问。


不常用的9个模式:桥接模式,构建器模式,蝇量模式,责任链模式,解释器模式,中介者模式,访问者模式,原型模式,备忘录模式。

分享到:
评论

相关推荐

    java,android常用设计模式,单例,mvp

    本人深圳安卓开发程序猿一枚,希望能一起...最近重温了一下java的设计模式,练练手,java设计模式有23种,写了12种常用的设计模式,一些觉得用不上就没写,水平有限,有问题欢迎留言一起加油email:674928145@qq.com!

    重温Observer模式--热水器·改

    Observer模式是一种设计模式,主要目的是实现对象之间的松耦合,使得当一个对象的状态发生改变时,依赖于这个对象状态的其他对象能够得到通知并自动更新。在这个“重温Observer模式--热水器·改”的讨论中,作者将...

    JavaScript设计模式之单例模式详解

    这一次重温一下《JavaScript设计模式与开发实践》,开篇为单例模式。 /** * pre 单例模式 * 定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点 * 应用:单例模式是一种常用的模式,有一些对象我们...

    设计模式沉思录.pdf

    第1章 介绍1.1 对模式的十大误解1.2 观察第2章 运用模式进行设计2.1 基础2.2 孤儿、孤儿的收养以及代用品2.3 “但是应该如何引入代用品呢?”2.4 访问权限2.5 关于VISITOR的一些警告2.6 单用户文件系统的保护2.7 多...

    重温 Thinking in Java 5 - The Class object

    例如,我们可以利用类对象进行泛型擦除后的类型检查,或者在设计模式如工厂方法、单例模式中发挥作用。此外,它在动态代理、注解处理等领域也发挥着关键作用。 总的来说,《Thinking in Java 5 - The Class object...

    number-munchers-plus-plus:重新实现我的高中 Number Munchers 游戏,了解 MVC 和设计模式概念

    【标题】: "Number Munchers Plus Plus: 一个运用MVC和设计模式重构的经典高中游戏" 【描述】: "Number Munchers Plus Plus 是一个基于原版高中数学游戏 Number Munchers 的重新实现项目,旨在帮助开发者深入理解...

    2020下半年软件设计师上下午真题.rar

    例如,软件工程中的需求分析、设计模式、测试方法;数据结构中的栈、队列、树、图及其操作;算法中的排序、查找以及复杂度分析;操作系统的基本原理如进程管理、内存管理;计算机网络的五层模型及TCP/IP协议;数据库...

    JAVA开发JAVA002打飞机游戏设计(程序+论文)

    8. **设计模式**:在游戏开发中,可能会用到单例模式(如游戏主类)、工厂模式(生成不同类型的飞机)等设计模式,以提高代码的可维护性和复用性。 9. **调试与优化**:完成游戏后,开发者需要进行调试,确保游戏...

    历年软件设计师真题包括最新09年的试题

    1. 理论巩固:考生应深入理解并掌握标签中提及的历年真题所涵盖的理论知识,如软件生命周期、设计模式、数据库设计等。 2. 实战演练:通过做历年试题,了解考试的难度和出题趋势,熟悉题型,如选择题、填空题、问答...

    重温C# clr 笔记总结

    在设计模式中,通常建议值类型是不可变的。 总的来说,理解C# CLR的工作原理对于深入学习.NET开发至关重要,它涉及到类型系统、异常处理、程序集管理、内存管理等多个方面,这些都是构建高效、可靠.NET应用的基础。

    88 再次重温写出各种SQL语句的时候,会用什么执行计划?(1).pdf

    通常,应选择那些经常用于查询条件的字段建立索引,且对于多条件查询,可能需要建立一个或几个联合索引来适应常见的查询模式。 在实际应用中,为表设计索引时需要综合考虑索引的类型、索引的组合以及它们对查询性能...

    90 再次重温写出各种SQL语句的时候,会用什么执行计划?(3).pdf

    6. 优化建议:文档中提到了需要回表到聚簇索引里查找完整数据的情况,这暗示了在设计索引时需要考虑查询模式,以减少回表操作的需要。此外,避免index和all类型的执行计划可以提高查询性能。 文档在结尾处提到了将...

    java编程思想习题及答案

    10. **设计模式**:习题可能涉及到一些常见的设计模式,如单例、工厂、观察者、装饰器等,设计模式是解决常见编程问题的通用解决方案。 通过解答这些习题,学习者不仅能巩固Java语言的基础,还能提高解决实际问题的...

    C# WINFORM小游戏

    本程序是C# WINFORM做的小游戏 此游戏为棋类,是我小时候在地上画着玩的游戏。 主要通过(Graphics)来实现棋子的移动,用位数组保存棋子的位置。...游戏有双人对战和人机对战模式,人机对战模式有点意思。

    DELPHI 5编程实例与技巧

    11. **设计模式与架构**:引入设计模式的概念,探讨在Delphi中如何应用这些设计模式来提高代码可读性和可维护性。 12. **实际案例分析**:书中可能会包含多个实际项目案例,如数据库管理系统、图形图像处理工具、...

    软件设计实践.doc

    总的来说,这个贪吃蛇游戏软件设计实践项目是一个集趣味性、教育性和技术性于一体的学习案例,它不仅可以让玩家重温经典游戏的乐趣,也为初学者提供了学习游戏编程的实践平台。通过该项目,开发者可以深入了解游戏...

    非物质文化遗产博物馆互动体验展示设计探究.docx

    非物质文化遗产博物馆互动体验展示设计是近年来博物馆展示领域的一大创新,旨在通过互动技术增强观众对...这种设计模式的推广和应用,将有力推动我国非物质文化遗产的保护工作,让更多人感受到中华优秀传统文化的魅力。

Global site tag (gtag.js) - Google Analytics