`
zhengpingling
  • 浏览: 13095 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论
阅读更多
自己总结的设计模式,多多指教

模板模式
定义:父类定义流程子类去实现
解决问题:解决了代码的复用
例子:学校定义一套规章制度,学校里面的各个系都要遵守这一套规章制度
代码实现:首先写一个抽象类并在这个类中定义一套流程,子类继承这个抽象类并重写其中的方法
java代码中的实现:spring的dao层

观察者模式
定义:建立对象之间一对多的关系
解决问题:解决对象之间的依赖关系
例子:声感电灯,如果人发出声音,那么所有电灯就会亮
代码实现:1.创建一个被观察者 2.定义一个观察者的接口,观察者实现这个接口并重写其中的方法 3.当被观察者动作发生变化是就会通知观察者,并将观察者装入一个容器中
java代码中的实现:awt中的事件听

组合模式
定义:对象以树形结构存储
解决问题:解决数据结构中的树形问题
例子:古代的官场体系结构,皇帝下面有左右丞相,左丞相下面有太尉,右丞相下面有文武將
代码实现:1.定义一个Node节点,并声明添加节点的方法
2.定义枝Branch实现Node接口,重写添加节点的方法,用容器来装节点
3.叶子节点也实现Node接口并重写其中的方法,但是添加节点的方法在这里要抛出个自定义异常,因为
叶子节点下面是没有节点的
java代码中的实现:盘符下面有文件夹

命令模式
定义:一个行为对应一个对象
解决问题:只需关心行为,而不必关心具体实现
例子:坐电梯的时候,不管是往上还是往下都是只需要按按钮就可以了
代码实现:1.定义Command接口并声明一个可用于执行的方法execute()
2.定义实体类,并执行一系列方法
3.具体动作的命令实现Command接口重写execute方法,并在execute中调用实体类中的执行方法
4.外部调用的时候只需要调用execute方法就可以执行到所有的命令


代理模式
定义:为其他对象提供一种代理以控制对这个对象的访问
解决的问题:在处理复杂对象之前进行一些缓冲
代码实现:1.定义一个接口
2.代理类和实体类共同实现这个接口
3.客户段通过调用代理类来访问到实体类
例子:大型厂商在各个省市安置一些代理商,客户通过代理商买到该厂商的产品

责任链模式
定义:多个对象处理一个请求
解决问题:避免发送者和接受者间的耦合关系
代码实现:1.比如说定义Chain接口并声明next()
2.声明一个Handler类并声明一个属性用于保存客户端传过来的对象
3.每个处理请求的类都集成Handler类,通过其中的get方法来得到客户端传过来的对象,并调用
next()方法
例子:中央下达命令要改建某个区,于是这个命令会经过省在经过市最后才到达区执行

中介者模式
定义: 用一个中介对象来封装一系列的对象交互
解决问题:将对象与对象之间的一种一一依赖的关系变成中介者与多个对象之间的关系
代码实现:1.在责任链的模式上,将多个对象装入到一个容器当中,然后迭代容器,调用对象中的执行方法
例子:婚姻介绍所,两个完全无关的对象由婚姻介绍所来进行牵连

未完,待续。。。。。。。
分享到:
评论

相关推荐

    24种设计模式以及混合设计模式

    设计模式是软件工程中的一种重要思想,它是在特定情境下,为解决常见问题而形成的一套最佳实践。在本文中,我们将深入探讨24种设计模式,并结合混合设计模式的概念,以及它们在实际项目中的应用案例。 首先,设计...

    人人都懂设计模式 人人都懂设计模式

    人人都懂设计模式 设计模式是软件开发中的一种解决方案,它提供了一种通用的设计思想和方法论,可以帮助开发者更好地设计和实现软件系统。设计模式可以分为三大类:创建型模式、结构型模式和行为型模式。 在本书中...

    Java 经典设计模式讲解以及项目实战

    Java 经典设计模式讲解以及项目实战 设计模式简介:主要介绍各种设计模式的概念和运用场景等 设计模式综合运用:主要是笔者在实际工作中运用到的一些设计模式综合运用事例的提炼 Spring设计模式简介:主要是讲述...

    GOF设计模式中英文+设计模式精解中英文

    GOF(Gang of Four)设计模式,由Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides四位专家在他们的著作《设计模式:可复用面向对象软件的基础》中提出,被誉为设计模式的经典之作。本资源包含了GOF设计...

    Head First 设计模式 +Java设计模式(第2版)

    《Head First 设计模式》与《Java设计模式(第2版)》是两本非常重要的IT书籍,专注于软件开发中的设计模式。设计模式是解决软件设计中常见问题的经验总结,它们提供了一种标准的方法来处理特定场景下的问题,使得代码...

    设计模式(包含5个设计模式)含源代码报告.rar

    这个压缩包文件"设计模式(包含5个设计模式)含源代码报告.rar"显然是一份宝贵的资源,它涵盖了五个核心的设计模式,并附带了详细的类图、源代码以及文档报告,这对于学习和理解设计模式至关重要。 首先,我们要探讨...

    python设计模式第2版.pdf

    设计模式是构建大型软件系统zui强大的方法之一,优化软件架构和设计已经逐渐成为软件开发和维护过程中的一个重要课题。 Python设计模式(第2版)通过11章内容,全面揭示有关设计模式的内容,并结合Python语言进行示例...

    软件设计模式大作业

    软件设计模式大作业 本资源为一份完整的软件设计模式大作业,涵盖了六种设计模式的应用,分别是简单工厂模式、工厂方法模式、单例模式、门面模式、策略模式和观察者模式。该大作业的主要内容包括系统流程、系统类图...

    基于Java的设计模式大作业绘图系统【六种设计模式+文档】.zip

    本系统基于六种设计模式,运用到的设计模式有备忘录模式,简单工厂模式,迭代器模式,状态模式,模版方法模式,单例模式。 具体实现过程、UML类图以及实现效果详见如下项目说明地址: ... 该系统为绘图系统,该系统通过...

    设计模式精解-GoF 23种设计模式解析附C++.pdf

    懂了设计模式,你就懂了面向对象分析和设计(OOA/D)的精要。反之好像也可能成立。道可道,非常道。道不远人,设计模式亦然如此。 设计模式体现的是一种思想,而思想则是指导行为的一切,理解和掌握了设计模式,并不...

    新版设计模式手册 - C#设计模式(第二版)

    《新版设计模式手册 - C#设计模式(第二版)》是一部深入探讨C#编程中设计模式的权威指南,尤其适合已经有一定C#基础并希望提升软件设计能力的开发者阅读。设计模式是解决软件开发中常见问题的经验总结,是软件工程的...

    软件设计模式(java版)习题答案.pdf

    软件设计模式(Java版)习题答案 本资源为软件设计模式(Java版)习题答案,由程细柱编著,人民邮电出版社出版。该资源涵盖了软件设计模式的基础知识,包括软件设计模式的概述、UML中的类图、面向对象的设计原则、...

    设计模式精解- GoF 23种设计模式解析附C++实现源码

    设计模式精解- GoF 23种设计模式解析附C++实现源码 懂了设计模式,你就懂了面向对象分析和设计(OOA/D)的精要。反之好像也可能成立。道可道,非常道。道不远人,设计模式亦然如此。 一直想把自己的学习经验以及在...

    C_设计模式(23种设计模式)

    C_设计模式(23种设计模式)C_设计模式(23种设计模式)C_设计模式(23种设计模式)C_设计模式(23种设计模式)C_设计模式(23种设计模式)C_设计模式(23种设计模式)C_设计模式(23种设计模式)C_设计模式(23种设计模式)C_设计...

    您的设计模式,我们的设计模式 java设计模式

    您的设计模式我们的设计模式,简单明了的设计模式是设计模式学习必备的书籍

    23种设计模式经典案例(C++版)

    设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代 码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的;设计...

    Head First设计模式.pdf

    全书用两章篇幅对设计模式和GRASP作了基本介绍,3种设计模式的讲解:对于每一种模式,先给出定义,接着通过类比方式用一个现实世界中的例子说明模式的应用,然后分别以C#和Java代码例述模式的架构实现。最后一章给出...

    Java设计模式 设计模式介绍

    章节介绍:1、爪哇语言结构性模式之变压器模式介绍 2、爪哇语言抽象工厂创立性模式介绍 3、工厂方法创立性模式介绍 4、单态创立性模式介绍 5、单态创立性模式介绍 6、观察者模式介绍7、责任链模式 8、设计模式之...

    软件设计模式期末作业

    在软件开发领域,设计模式是经过时间和实践验证的解决方案模板,用于解决常见问题。本作业以“软件设计模式”为主题,特别关注了装饰模式、工厂模式和适配器模式的运用。这三种模式都是面向对象设计的核心部分,它们...

    23种面向对象设计模式

    面向对象设计模式是软件开发中的一种重要思想,它通过总结和提炼在软件设计过程中常见的问题和解决方案,形成了可复用的设计规范。标题提到的“23种面向对象设计模式”涵盖了设计模式的主要分类,这些模式在Java、...

Global site tag (gtag.js) - Google Analytics