当前位置:  技术问答>java相关

:)----设计模式学习笔记------1

    来源: 互联网  发布时间:2015-07-18

    本文导语:  本人刚开始学习设计模式,看的是英文的Java版。这里是自己的一些心得,可不知道自己理解是否有偏差,希望高手指点!内容会继续添加! 1. Bridge:定义一个类A,在A中定义可能生成的类型b和c,然后通过传给A构建器...

本人刚开始学习设计模式,看的是英文的Java版。这里是自己的一些心得,可不知道自己理解是否有偏差,希望高手指点!内容会继续添加!

1. Bridge:定义一个类A,在A中定义可能生成的类型b和c,然后通过传给A构建器的参数之一——类型b或c来决定生成类实例B或C。然后通过组织类B和C的实例来实现界面表现。B和C是具体的组件单元类。这样修改A不会影响B、C,修改B、C也不会影响A。

2. adapter:假如你要实现的类,可能具有多个接口或类的功能操作,而这些操作只是这些接口或类中的一部分。那么就定义一个接口,接口内定义这部分方法,然后定义你要实现的类来实现该接口,在类中仅需定义接口方法的实现。这样原来不兼容的类和接口可以通过你定义的接口来一起工作。

3. Factory:你设计一个基类B,它定义了该类的一些操作和允许子类访问的一些变量。因为该类所操作的对象有不同的表现方式(形式),需要针对不同的方式(形式)定义该基类的不同子类Si。然后定义一个工厂类,该类负责分析基类操作对象的表现方式(形式),以生成不同的子类。假如该工厂类实例是f,则在程序中调用的方式是:B = f.getBClass(操作对象)(getBClass方法返回的是Si)。

4. SingLeton:在类中定义一个静态开关变量,来控制是否可以生成实例。当一个实例生成时,该变量被置为False,当实例被删除时,该变量被置为True。在具体实现的时候最好抛出自己的异常:不可以生成实例时抛出。在调用new试图生成实例时使用Try……Catch块。

|
继续阿,我还想看哦

|
严重支持

|
总结的太好了.我正愁看不懂英文呢.只能看最原始的那个design pattern.
多多总结.我全部复制下来.

|
总结一下:总结一下:
1. Bridge:定义一个类A,在A中定义可能生成的类型b和c,然后通过传给A构建器的参数之一——类型b或c来决定生成类实例B或C。然后通过组织类B和C的实例来实现界面表现。B和C是具体的组件单元类。这样修改A不会影响B、C,修改B、C也不会影响A。

2. adapter:假如你要实现的类,可能具有多个接口或类的功能操作,而这些操作只是这些接口或类中的一部分。那么就定义一个接口,接口内定义这部分方法,然后定义你要实现的类来实现该接口,在类中仅需定义接口方法的实现。这样原来不兼容的类和接口可以通过你定义的接口来一起工作。

3. Factory:你设计一个基类B,它定义了该类的一些操作和允许子类访问的一些变量。因为该类所操作的对象有不同的表现方式(形式),需要针对不同的方式(形式)定义该基类的不同子类Si。然后定义一个工厂类,该类负责分析基类操作对象的表现方式(形式),以生成不同的子类。假如该工厂类实例是f,则在程序中调用的方式是:B = f.getBClass(操作对象)(getBClass方法返回的是Si)。

4. SingLeton:在类中定义一个静态开关变量,来控制是否可以生成实例。当一个实例生成时,该变量被置为False,当实例被删除时,该变量被置为True。在具体实现的时候最好抛出自己的异常:不可以生成实例时抛出。在调用new试图生成实例时使用Try……Catch块。
5. Composite:该模式的实现方式就是先定义一个接口或抽象类I,然后定义一个Composite(组合)类,该类实现了定义的接口I,并且该类可以放置(添加、删除和查询对象)实现了接口I的对象(在具体实现上往往是利用一个数组、Vector或hastable类存放对象)。该类还提供了访问这些对象的方法。这些对象也都实现了I接口,组合类在实现接口方法时就是调用对象的该方法。
6. Decorator:在Java中,JscrolPane是一个容器类,在它内部放上一个本身不支持滚动条的文本区后,该文本区也就支持了滚动条。滚动条就是一个Decorator(油漆工),而文本区是一个被油漆者。该模式的常见实现是在可视化组件中:先声明一个接口I,该接口实现Jcomponent,在具体的油漆工类中,把要“油漆”的对象作为参数传给油漆工类的构建函数,在该类中添加该对象的一些功能。
对Decorator的最通用解释是这样:如果一个被“油漆”对象X实现了接口I,那么我们的Decorator类也实现接口I,并且该类有一个X类型的成员变量,该变量通过构建器传递近来。在该类中再定义扩充功能的私有方法(或者说修饰方法、油漆方法),这些方法在类内部只被对象X所调用,以保证类显示该客户的方法仍是接口I的方法。因为Decorator和X实现了相同的接口,所以客户代码通过使用Decorator类来调用对象

该7了, zgpp(zgpp) 


|
我支持你写,你支持我领分。

|
写的还真不错!

|
我也在学设计模式,大家可以探讨啊

|
还可以,继续。但学习设计模式主要是应用,在使用中学习会更有效

|
这是我对设计模式的些想法
http://www.csdn.net/expert/topic/869/869430.xml?temp=.9212915

|
学习中!

to zgpp(上帝忘记了我是他爸) 你说的那篇 通过源码学习设计模式
现在各哪里能找到!

|
向zgpp学习!

|
我感觉有点问题
别的模式我不熟悉,但是工厂模式的用法和你的说法好像是不太一样吧,虽然我还不敢肯定,但是我觉得就你那个例子就不太对,如果你有兴趣的话,我想和你讨论一下这个模式。
其实我觉得这样说有些空泛,如果有必要的话,我们可以贴一些java代码,用代码来说明问题。

|
有些不对。

|
to   zgpp (zgpp)  兄:这些是你抄自书上的呢?还是自己领会到的?
(恕我冒昧)

    
 
 

您可能感兴趣的文章:

  • GOF设计模式简介- 责任链模式
  • Java设计模式之适配器模式简介
  • C#设计模式之外观模式介绍
  • Java设计模式之创建者模式简介
  • Java设计模式之中介者模式(Mediator Pattern)简介
  • Java设计模式之责任链模式简介
  • php设计模式之命令模式使用示例
  • 起个贴子,大家伙来归纳一下Java本身设计中的设计模式
  • 各位,市面上有什么设计模式的书么
  • C++设计模式之工厂方法模式
  • linux网络编程(UDP多播)如何实现Observer设计模式?
  • 讨论facade设计模式。
  • 哪里有《设计模式》中文电子版书
  • 大家可以探讨一下Servlet的设计模式么?
  • 设计模式怎么放到Java类里面???
  • 设计模式是怎样产生的?
  • 请问什么是“设计模式”,有这方面的教材吗?望各位大侠指点指点初学者。谢谢!
  • 在EJB中如何应用设计模式?
  • 【一周话题】请大家介绍一下关于设计模式的实际应用例子
  • C++设计模式类库 Loki
  • 谁有《设计模式》中文电子书?
  • 设计模式---学习笔记2
  • PHP 面向对象程序设计(oop)学习笔记(三) - 单例模式和工厂模式
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 如何实现非电子商务的设计模式(不要web层)
  • 谁有Design Patterns Explained (设计模式精解)这本书的电子版?谢谢!!
  • 求设计模式 电子书 高分
  • 在哪可以下载完整的《设计模式》??
  • 哪里有java版的设计模式的电子书下载?
  • 《j2ee设计模式》这本书那有买的?
  • 请问那里有关于设计模式的完整的书下载!!!!
  • 讨论:数据库操作的设计模式
  • 哪有java版的设计模式方面的书可以下载呀?材料也可以呀
  • EJB设计模式-----调查受欢迎的程度
  • 设计模式一问
  • java中多点传送(同一个事件可同时传送给多个监听器对象corejava1例8.6)采用哪种设计模式谢谢
  • 9月20日与《设计模式》作者John Vlissides交流
  • 各位老大,什么叫设计模式?
  • 设计模式之构建(Builder)模式 建造房子实例分析
  • 请问设计模式的问题,谢谢
  • php设计模式之单例模式使用示例
  • java设计模式之单例模式学习
  • Java设计模式之Iterator模式介绍
  • Python设计模式之代理模式实例


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    谁有《设计模式》中文电子书? iis7站长之家