`
wu_quanyin
  • 浏览: 208203 次
  • 性别: Icon_minigender_1
  • 来自: 福建省
社区版块
存档分类
最新评论

设计模式---结

阅读更多

一,创建模式

1,工厂方法模式

 .在功能实现中,当要创建一个不知道具体的实现类的时候,可以以接口的形式实现,并把实现类的创建交给工厂方法

2,抽象工厂方法模式

 .不同的工厂提供不同的功能,产品类中可以根据需要到对应的工厂中获取对应的组件功能. 从整体来看每个工厂犹如具体产品类的一个抽像方法.

3,创建者模式

 .可在此类下根据功能需要创建复杂对象,并返回结果给调用者

4,单例模式

 .见博客

5,原型模式

 .当类只想要一个类的部分属性时,通过克隆比实例化要更方便简洁

二,结构模式

 1,适配器模式

   .实现接口的形式进行适配,如一个Listener接口定义了多个事件(click/move...),这时在添加事件时要用到MouseAdapter类

   .对象组合的形式进行适配,如一个业务功能中需要加入另外一个业务,如公众号中的对外部户号进行转换

 2,桥接模式

   .DriverManager(实现) 与Driver(抽象) --->将抽象部分与它的实现部分分离,使它们都可以独立地变化。

 3,组合模式

   .表示“部分-整体”的层次结构,联想到的是公众号菜单树,每个菜单点都可通过迭代器处理整合所有子结点功能

 4,装饰器模式

   .当要对一个类添加额外附加功能时,如集合类...

 5,门面模式

   .为外部系统接入当前子系统提供的一组接口,如mysql接入java.sql

 6,代理模式

   .为其他对象提供一种代理以控制对这个对象的访问

 7,享元模式

   .主要功能就是以创建一个Flyweight pool来达到内存共享的状态,如一组实现相同接口的对象放在池里,根据参数属性选择是创建还是从池里得到

三,行为模式

 1,观察者模式

   oberverable一点触发,通知到所有被添加进的observer

 2,监听事件模式

   event/listener  每个监听器监听自己的一个事件

 3,命令模式

   .见博客 commend/receiver 主要是让commend拥有状态,可达到do undo 等功能

 4,模板模式

   .在一个类中定义 如start-process-end 让一个类以定义好的模板方式进行执行

 5,责任链模式

   .使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止

 6,策略模式

   .根据不同的参数,选择出一个对应的策略类来执行

 7,迭代器模式

   .看list源码

 8,解释器模式

   .见博客

 9,访问者模式

   .vistor接口中定义要访问的一些功能.vistable--->accept(vistor) ,具体的vistable实现vistor中的一个具体功能.

   当要实现一系列功能时,而这些功能本身又没有怎么联系,这时候可以通过这模式联系起来,vistor(封装所有功能) vistable负责处理具体一个功能

 10,中介者模式

   .如迪米法特原则

 11,备忘录模式

   .在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。

 12,状态模式

    .每一个状态类,都记录着1,当前状态要做的事.2,以及切换到对应的下一状态.

 

1
1
分享到:
评论

相关推荐

    软件设计模式-java.pdf

    全书共9章,内容包括设计模式基础、创建型设计模式(共5种)、结构型设计模式(共7种)、行为型设计模式(共11种)、设计模式实验指导。每章包括教学目标、重点内容、模式的定义与特点、模式的结构与实现、模式的...

    ASP.NET设计模式-杨明军译(源码)

    《asp.net设计模式》涵盖了开发企业级asp.net应用程序的知名模式和最佳实践。本书用到的模式可以用于从asp.net1.0到asp.net 4.0的任何版本。不必管模式本身所用的语言,可以将模式用于任何面向对象编程语言。  ...

    Java设计模式-图解-附代码

    ### Java设计模式详解 #### 一、概述 设计模式是在软件设计过程中针对常见的问题而提出的通用解决方案。在Java编程中,设计模式可以帮助开发者编写出更易于维护和扩展的代码。根据设计模式的目的不同,通常将其...

    JAVA常用设计模式-追美眉技术详解

    ### JAVA常用设计模式—追美眉技术详解 #### 设计模式概述 设计模式是一种软件设计中的通用解决方案,它描述了一类问题以及解决该问题的方法。Java作为一种广泛应用的编程语言,其设计模式对于提高代码质量、增强...

    设计模式:可复用面向对象软件的基础--详细书签版

     “[设计模式]在实用环境下特别有用,因为它分类描述了一组设计良好,表达清楚的面向对象软件设计模式。整个设计模式领域还很新,本书的四位作者也许已占据了这个领域造诣最深的专家中的半数,因而他们定义模式的方法...

    软件体系结构设计模式作业

    在IT行业中,软件体系结构设计模式是开发高质量、可维护和可扩展的软件系统的关键要素。设计模式是一种在特定上下文中解决常见问题的最佳实践,它为软件设计提供了可重用的解决方案。本作业将深入探讨软件体系结构...

    实用J2EE设计模式编程指南

    本书介绍J2EE设计模式,及如何应用这些模式建立高质量应用程序,包括设计企业方案应用程序时使用的各种设计模式,并分章节介绍各个模式。本书有针对性地列举大量实用代码,以便读者理解和掌握J2EE企业开发中的觉问题...

    设计模式小结

    ### 设计模式精要 设计模式是软件工程领域的一个重要概念,它提供了一套解决常见问题的模板,有助于提高代码的可读性、可维护性和重用性。本文旨在总结几种核心的设计模式,包括依赖、关联、聚合、组合、继承、实现...

    设计模式学习报告

    ### 设计模式学习报告 #### 一、设计模式概述 设计模式是一种被广泛接受和使用的编程解决方案,旨在解决软件设计中的常见问题。它不仅能够帮助开发者编写出更易于理解和维护的代码,还能够促进代码的复用性。设计...

    设计模式可复用面向对象软件的基础.zip

    书名: 设计模式可复用面向对象软件的基础 英文原书名: Design Patterns:Elements of Reusable Object-Oriented software 作者: Erich Gamma 等 译者: 李英军 马晓星 蔡敏 刘建中 书号: 7-111-07575-7 页码: 254 定价...

    程序设计模式与架构

    ### 程序设计模式与架构 #### 创建型模式、结构型模式与行为型模式 在软件工程领域,设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易...

    php设计模式小结

    观察者模式是一种行为设计模式,允许你定义一个订阅机制,当对象状态改变时,通知所有“观察”该对象的其他对象。在PHP中,这种模式常用于事件驱动编程,例如,当用户提交表单时发送邮件通知。 ```php interface ...

    ActionScript 3.0设计模式扫描版_方红琴译

    第1章 面向对象程序设计、设计模式和ActionScript 3.0 成功之后的喜悦 OOP基础 抽象 封装 继承 多态性 使用设计模式进行软件开发的原则 使用接口而不是具体的实现 养成使用组合的习惯 计划项目时要同时...

    设计模式 GOF 23

    本书设计实例从面向对象的设计中精选出23个设计模式,总结了面向对象设计中最有价值的经验,并且用简洁可复用的形式表达出来。本书分类描述了一组设计良好,表达清楚的软件设计模式,这些模式在实用环境下有特别有用...

    《设计模式》中文版(23个设计模式的介绍与运用)

    1.1 什么是设计模式 2 1.2 Smalltalk MVC中的设计模式 3 1.3 描述设计模式 4 1.4 设计模式的编目 5 1.5 组织编目 7 1.6 设计模式怎样解决设计问题 8 1.6.1 寻找合适的对象 8 1.6.2 决定对象的粒度 9 1.6.3 指定对象...

    软件设计师必读的书-设计模式

    1.1 什么是设计模式 2 1.2 Smalltalk MVC中的设计模式 3 1.3 描述设计模式 4 1.4 设计模式的编目 5 1.5 组织编目 7 1.6 设计模式怎样解决设计问题 8 1.6.1 寻找合适的对象 8 1.6.2 决定对象的粒度 9 1.6.3 指定对象...

    JAVA设计模式小结

    java设计模式小结,总结了3个 希望给大家一些帮助!

    设计模式:可复用面向对象的基础

    ### 设计模式:可复用面向对象的基础 #### 一、设计模式概述 设计模式是在软件设计过程中,针对某一类问题而提出的通用解决方案。这些模式是经过实践验证的有效方法,可以提高代码的可读性、可维护性和复用性。在...

Global site tag (gtag.js) - Google Analytics