`
LinttleLife
  • 浏览: 41604 次
  • 性别: Icon_minigender_1
  • 来自: SG
社区版块
存档分类
最新评论

设计模式

    博客分类:
  • mvc
阅读更多

 

设计模式知道最基本的原则,能达到重用的目的就行了,不需要深究设计模式到底是什么东西。那么我想把那些经典的设计模式的思想写写:

 

1) 设计模式归根到底是为了可重用,可扩展,易维护

 

A===建造模式

2) 工厂模式

工厂模式是用来更合理地生产对象的。

简单工厂模式:知道具体的子类,

工厂方法模式:

抽象工厂模式:不知道具体子类,利用反射技术,找到真正的要创建的类的对象。

3) 建造模式:

把对象拆分成不同的组建,然后组装。

4) 原始模型模式:clone

5) 单例模式:

 

B==结构模式

5) 适配器。已经有一些类的定义,在现有系统中又不好直接使用,那么就写一些适配器类,来满足当前系统的使用。

6)桥梁模式。将抽象化和实现化脱藕。

7)合成模式。将对象组织到树结构中,可以用来描述整体和部分之间的关系。

8) 装饰模式。可以动态增加和撤销对象的功能。

9) 亨元模式。大量降低内存中对象的数量。

10)门面模式。外部和子系统之间提供一个接口,使子系统更加易于访问。且这个子系统是单例模式。

11)代理模式。用户只需要持有被代理对象的一个接口即可。

 

C==行为模式

12)职责链模式:用户在不影响客户端的情况下,动态组织和分配责任。

13)命令模式:分割开发出命令和执行命令。

14)解释器模式: 用户指定语言,程序即可翻译。

15)迭代

16)调停者模式: 包装对象之间相互作用的方式,而使各个对象之间不发生明显的相互作用。

17)观察者模式: 一个对象多个观察者,一个对象变,多个观察者跟着变。

18)策略模式:环境和算法分开。封装算法。

19) 模板模式:强制执行剩余部分。

20)访问者模式:封装访问接口。

21)备忘录:

22)状态模式:

 

接口:

a. 成员都是public static final

b. 方法都是public abstract, 并且没有默认实现

c. 一个具体类可以实现多个接口, 一个接口也可以被另一个接口继承

 

抽象类:

a. 可以有自己的成员变量

b. 有抽象方法的类一定是抽象类,抽象类里却不一定要有抽象方法

c. 单继承

 

面向接口编程:

分析的时候考虑对象要做什么,写出接口和基类。

实现的时候考虑怎么去做。

 

面向对象编程就是面向接口编程:

1) 松耦合,尽量依赖接口而不是具体类

2) 安全性,被接口联接。

3) 开闭, 可扩展而不可被改变。

 

 

 

分享到:
评论
1 楼 LinttleLife 2008-11-12  
原则:
1) 开闭原则: 我们写类要可扩展,而不是可更改。就是说原则上,除了维护的目的,不要改别人的代码。
2) 里氏代换原则:父类能做的事情,子类也要能做。就是说原则上在父类里尽量不要用private,final之类的代码。
3) 合成复用原则: 尽量多用合成,少用继承。
4) 依赖倒转原则: 面向接口编程,而不是面向细节编程。因此,设计的人又要懂业务,又要考虑到技术,工资高是当然的啦。
5) 接口隔离原则: 每一个接口都是一个角色,不多不少,不干不该干的事情,该干的事情都要干。
6) 抽象类: 好的继承关系,只有叶节点是具体类,其他都应该是抽象类或者接口。
7) 迪米特法则: 最少知识原则,不要和陌生人说话。

相关推荐

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

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

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

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

    二十三种设计模式【PDF版】

    主要是介绍各种格式流行的软件设计模式,对于程序员的进一步提升起推进作用,有时间可以随便翻翻~~ 23种设计模式汇集 如果你还不了解设计模式是什么的话? 那就先看设计模式引言 ! 学习 GoF 设计模式的重要性 ...

    23种设计模式详解PDF

    设计模式 的分类 总体来说设计模式分为三大类: 创建型模式(5): 工厂方法模式 、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式(7): 适配器模式、装饰器模式、代理模式、外观模式、桥接模式、...

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

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

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

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

    设计模式解析.pdf

    ### 设计模式解析:深入理解软件设计的核心原则与实践 #### 标题解析:设计模式解析 设计模式是软件工程领域的重要概念,旨在提供解决常见软件设计问题的模板或指导原则。《设计模式解析》这一标题暗示了书籍将...

    C#设计模式.PDF

    根据提供的文档概览,我们可以对每个章节所涉及的设计模式进行详细的阐述和解释。下面将针对文档中提及的设计模式逐一展开,以便更好地理解这些模式的概念、结构、应用场景以及优缺点。 ### 1. 面向对象程序设计...

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

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

    设计模式之蝉

    在计算机科学领域,设计模式是软件工程中用于解决特定问题的一般性方案,它们是经过实践检验的最佳实践。这些模式被广泛应用于面向对象软件设计中,能够提高代码的可重用性、灵活性和可维护性。设计模式通常被划分为...

    python设计模式第2版.pdf

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

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

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

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

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

    Head First设计模式.pdf

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

    设计模式那点事

    设计模式是软件工程中的一种重要概念,它代表了在特定情境下解决问题的可重用解决方案。《设计模式那点事》这本书的PPT为我们提供了一种深入理解和学习设计模式的途径。在这里,我们将深入探讨设计模式的核心概念、...

    java版本的设计模式的实现demo

    设计模式是软件开发中的经典实践,它们为解决特定问题提供了通用、可复用的解决方案。在Java编程中,运用合适的设计模式可以提高代码的可维护性、可扩展性和可复用性。以下是关于Java版本设计模式实现demo的一些补充...

    设计模式之美——教你写出高质量代码

    设计模式是软件工程中的一种最佳实践,它是在特定上下文中解决常见问题的经验总结。"设计模式之美——教你写出高质量代码"这个主题旨在帮助开发者更好地理解和应用设计模式,从而提升代码的质量和可维护性。设计模式...

    Java设计模式 设计模式介绍

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

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

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

Global site tag (gtag.js) - Google Analytics