`
baiiiuuu
  • 浏览: 42714 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

设计模式的笔记总结

阅读更多
单例模式:

定义:确保一个类的实例只有一个,
分为:懒汉式和饿汉式;
区别:一个是在类加载的时候就直接实例化了,而另一个则是第一次调用他的一个公有的、静态的、同步的方法才能得到实例化,
                    如果要经常要用到该对象的话则用饿汉式,如果可用可不用的话就用懒汉式。
特征:声明一个私有的静态的类字段,
             二是私有化构造器,
             三是申明一个公有的静态的方法。
             四是属于懒汉式的 判断私有化的类变量是否为空,如果为空的话才去生成该对象。
             五是对外只提供一个唯一的访问函数; 


工厂模式 Factory
针对接口编程,不用去依赖实现类;它隐藏了new的关键字,对其统一实例化。通过去调用工厂的静态方法才得到该对象,这样的话不用每次都去new操作,程序的业务逻辑 也就不会混乱,统一由工厂创建,就比清晰。还有就是它的扩展性很强。
解决问题:用来解决一个一个类的生成方式过多,容易发生变动,或者是父类和子类之间容易替换的地方。
例子:你买东西,你只要自己和售货员说买什么,不用管他到底是哪里生产的吧。
         


模版模式:
  模版模式主要是父类指定流程,子类去实现。
解决问题:解决子类之间代码或者是流程的重复问题。
例子:就拿我们的课程表来说吧,每天都会按照一个课程表去上课,这个课程表就相当于父类定义的一个流程,然后只要老师安装这个课程表给我们上课就行了。OK`````````



门面模式(外观模式) Facade
门面模式为整个子系统提供一种高层次的简单接口,以便减少复杂度和依赖性,使得子系统的使用简单并且更容易管理。 

解决问题:子接口繁多,调用复杂,内部交互地方比较多。
例:去一个商场买东西的时候,你需要买什么,只需要他给你导购的人就行了,你买东西就方便多了.


策略模式 Strategy
  定义一系列的算法,然后把这些算法一个个封装起来,并且可以使他们相互交换
   解决问题:某个具体的解决方法有很多种可选择的实现。
   有国道、还有小道都可以去深圳,要速度快点就上高速公路吧


观察模式 Observer
对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。
解决问题:解决多个对象间相互依赖关系的相互通知


一个群,有几个好友,当你发送出消息,他们都有得到通知。
适配器:Adapter

定义:将一个接口转换成客户希望的接口,使得原本两个不兼容的接口能够在一起工作。


例子:
      在现实生活中,像这种适配器我们经常见到,而且还是经常使用它,如:手机在充电的时候,不可能直接在220V电源上直接充电,而是手机“充电器”进行转换成手机需要的电压才可以正常充电,否则就不可以完成充电,这个“充电器”就起到了适配的作用。
                       


装饰器模式(油漆工模式):Decorator
定义:在不改变原来的代码情况下,动态地给一个对象添加一些新功能,Decorator模式相比生成子类更为灵活。
解决问题:一个对象需要经常动态增加属性或指责。
例子:就拿装修房子吧,首先它会用石灰去粉刷墙壁,然后你需要搞的好看点的话会去贴上一
     些壁纸,你要再搞的好看点的话,就再去给它加上几个盏浪漫点的壁灯!
分享到:
评论
3 楼 madbluesky 2009-08-13  
楼上的确理解了....
2 楼 ppig 2009-08-13  
楼主的确理解了
1 楼 jlh_jianglihua 2009-08-13  
baiiiuuu 写道
单例模式:

定义:确保一个类的实例只有一个,
分为:懒汉式和饿汉式;
区别:一个是在类加载的时候就直接实例化了,而另一个则是第一次调用他的一个公有的、静态的、同步的方法才能得到实例化,
                    如果要经常要用到该对象的话则用饿汉式,如果可用可不用的话就用懒汉式。
特征:声明一个私有的静态的类字段,
             二是私有化构造器,
             三是申明一个公有的静态的方法。
             第四点是属于懒汉式的 判断私有化的类变量是否为空,如果为空的话才去生成该对象。
             对外只提供一个唯一的访问函数; 


工厂模式 Factory
针对接口编程,不用去依赖实现类;它隐藏了new的关键字,对其统一实例化。通过去调用工厂的静态方法才得到该对象,这样的话不用每次都去new操作,程序的业务逻辑 也就不会混乱,统一由工厂创建,就比清晰。还有就是它的扩展性很强。
解决问题:用来解决一个一个类的生成方式过多,容易发生变动,或者是父类和子类之间容易替换的地方。
例子:你买东西,你只要自己和售货员说买什么,不用管他到底是哪里生产的吧。
         


模版模式:
  模版模式主要是父类指定流程,子类去实现过程。
解决问题:解决子类之间代码或者是流程的重复问题。
在一个工厂,安装一个单车,你需要定义一个流程具体先安装什么,后安装什么。



门面模式(外观模式) Facade
门面模式为整个子系统提供一种高层次的简单接口,以便减少复杂度和依赖性,使得子系统的使用简单并且更容易管理。 

解决问题:子接口繁多,调用复杂,内部交互地方比较多。
例:去一个商场买东西的时候,你需要买什么,只需要他给你导购的人就行了,你买东西就方便多了、


策略模式 Strategy
  定义一系列的算法,然后把这些算法一个个封装起来,并且可以使他们相互交换
   解决问题:某个具体的解决方法有很多种可选择的实现。
   有国道、还有小道都可以去深圳,要速度快点就上高速公路


观察模式 Observer
对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。
解决问题:解决多个对象间相互依赖关系的相互通知


一个群,有几个好友,当你发送出消息,他们都有得到通知。
适配器:Adapter

定义:将一个接口转换成客户希望的接口,使得原本两个不兼容的接口能够在一起工作。


生活中的例子:
      在现实生活中,像这种适配器我们经常见到,而且还是经常使用它,如:手机(深信大家都见过),我们手机在充电的时候,不可能直接在220V电源上直接充电,而是手机“充电器”进行转换成手机需要的电压才可以正常充电,否则就不可以完成充电,这个“充电器”就起到了适配的作用。
                       


装饰器模式(油漆工模式):Decorator
定义:在不改变原来的代码情况下,动态地给一个对象添加一些新功能,Decorator模式相比生成子类更为灵活。
解决问题:一个对象需要经常动态增加属性或指责。

不错!学习了!

相关推荐

    图解Java设计模式笔记总结word版本.rar

    本资料“图解Java设计模式笔记总结word版本”聚焦于通过图文并茂的方式,深入浅出地解析各种设计模式。以下是基于这个主题的详细知识点讲解: 1. **设计模式的分类** - **创建型模式**:如单例(Singleton)、工厂...

    设计模式笔记总结 含C#示例代码 复习好帮手

    ### 设计模式笔记总结 本篇文章是对一份设计模式学习资料的深入解读,这份资料包含了19种经典的设计模式,并提供了C#示例代码,适用于学习和复习。下面将逐一介绍这些设计模式及其核心概念。 #### 1. 简单工厂模式...

    个人精简总结笔记_设计模式.pdf

    设计模式,个人笔记摘要。 设计模式是一套被人反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。它描述了在软件设计中一些不断发生的问题,以及这些该问题的解决方案。换句话说,它是特定解决问题的一...

    设计模式学习笔记总结

    这里我们聚焦于C#语言中的设计模式学习笔记,涵盖了多种经典的设计模式,如合成模式、桥梁模式、装饰模式、享元模式、门面模式、命令模式、工厂方法、策略模式、代理模式以及状态模式。下面将对这些模式逐一进行详细...

    自己总结的设计模式笔记

    设计模式笔记 设计模式是软件开发中常用的解决方案,能够提高代码的灵活性、可维护性和可扩展性。以下是设计模式的七大原则和两种常用的创建型设计模式。 1. "开-闭"原则 "开-闭"原则是设计模式的核心原则,指...

    韩顺平_Java设计模式笔记.docx

    本资源摘要信息是对《韩顺平_Java设计模式笔记.docx》的总结和分析,该笔记涵盖了 Java 设计模式的基础知识、设计模式的七大原则、原型设计模式、解释器设计模式、单例设计模式等内容,并对每个设计模式的原理、实现...

    设计模式笔记

    设计模式是软件工程中的一种重要概念,它代表了在特定情境下解决问题的...设计模式笔记中的内容应该涵盖了以上所述的各种模式,通过深入学习和实践,你可以将这些模式应用到实际项目中,提升自己的编程技能和设计能力。

    根据《JAVA与设计模式》整理的笔记及示例代码

    Java是一种广泛使用的面向对象的编程语言,而设计模式则是软件工程中解决常见问题的经验总结,是程序员在实践中形成的最佳实践。这份"根据《JAVA与设计模式》整理的笔记及示例代码"涵盖了Java语言和设计模式的核心...

    设计模式学习笔记及其模式特点总结

    设计模式是软件工程中的一种重要思想,它是在特定情境下解决问题的经验总结,是解决常见问题的最佳实践。在Java等面向对象编程语言中,设计模式的应用能够提高代码的可读性、可维护性和复用性。以下是对标题和描述中...

    设计模式总结笔记设计模式总结笔记

    ### 设计模式总结笔记 #### 一、概述 设计模式是一种在特定上下文中解决软件设计问题的方案。它并不是一种现成的代码片段或者框架,而是一种指导思想,帮助开发者理解如何更好地组织代码来解决问题。设计模式可以...

    设计模式读书笔记

    总结来说,设计模式是软件设计的宝贵工具,它们提供了解决复杂问题的标准模板。状态机模式尤其适用于管理对象在不同状态下的行为变化,通过将状态和行为分离,使得代码更易于理解和扩展。理解并熟练应用这些设计模式...

    设计模式学笔记

    ### 设计模式学习笔记 #### 一、设计模式概述 设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。它描述了在软件设计过程中的一些不断重复发生的问题,以及该问题的解决方案。设计...

    设计模式的读书总结笔记

    这篇“设计模式的读书总结笔记”是对设计模式深入理解和应用的结晶,包含对各种模式的实例解析、优缺点分析以及如何在实际项目中应用的指导。 一、设计模式的基本概念 设计模式并不直接提供代码实现,而是描述在...

    软件设计模式的基本例子和笔记总结

    这里我们将深入探讨基于Java的软件设计模式,通过基本例子和笔记总结来理解它们的核心概念。 1. 工厂模式:工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式,而无需暴露实例化过程。在Java中,我们...

    java设计模式学习笔记

    ### Java设计模式学习笔记——外观模式(Facade Pattern) #### 概述 设计模式是软件工程领域中一种解决常见问题的可复用解决方案。在Java开发过程中,掌握设计模式能够帮助开发者更好地组织代码结构,提高代码的...

    设计模式笔记(包含所有设计模式)个人总结提炼笔记

    设计模式可以被看作是经验丰富的开发人员在长期实践中总结出的最佳实践,旨在提高软件的可读性、可维护性和可扩展性。设计模式分为三大类:创建型模式、结构型模式和行为型模式。 创建型模式主要关注对象的创建,...

    设计模式之美—学习笔记

    设计模式是软件工程中的一种最佳实践,它是在特定上下文中解决常见问题的经验总结。这些模式在不同的场景下被反复验证并被广泛接受,为开发者提供了一种标准的、可复用的解决方案。在这个“设计模式之美”的学习笔记...

    读书笔记:PHP设计模式讲解实现《大话设计模式》读书笔记和总结.zip

    读书笔记:PHP设计模式讲解实现《大话设计模式》读书笔记和总结

Global site tag (gtag.js) - Google Analytics