知识大全 设计模式与VB .net代码 外观模式,合成模式

Posted 外观

篇首语:勇士搏出惊涛骇流而不沉沦,懦夫在风平浪静也会溺水。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 设计模式与VB .net代码 外观模式,合成模式相关的知识,希望对你有一定的参考价值。

设计模式与VB .net代码 外观模式,合成模式  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  外观模式

  就是将一大堆功能 合并成一个接口提供给客户代码

  比如一个Window类 用户就不需要手工编写很多创建窗体的代码 这就是外观模式

  其实 很多模式我们在编写代码时就在使用 只不过没这么称呼而已 也提醒我 看模式书籍时 尽量不要太关注模式的名称

  例如 我们可以将错误处理封装在一个类中:

  Public Class ErrorManage        Public Shared Sub RecordError( _        ByVal errorMsg As String _        ByVal errType As ErrorType _        Optional ByVal isWriteNote As Boolean = False)       

           End Sub

  Enum ErrorType        warning        wrong        suggest        End Enum        End Class

  客户代码:          ErrorManage RecordError( some description ErrorManage ErrorType suggest False)

  这就是外观模式 晕 Perry觉得有点儿唬人

  以前 函数可以看做外观模式的一种 但在VB Net中是用类来组织代码 因此 我们一般说这个类使用了外观模式 其实是指这个类是一个服务类 提供一些静态成员给客户代码使用而已 而这些静态成员 将客户端需要许多步骤才能完成的工作简化了

  此外观和程序的外观完全没关系 这个模式不是教我们做UI的

  Perry觉得唬人 不是对 外观模式 的轻视 而是自己先被 模式 吓到了 模式可以让我们在编写程序时 更清晰 更有把握 交流起来也明确

  合成模式

  简单来说 一个类中能包含自身的集合 就叫合成模式 常见的如目录下有目录和文件

  树是合成模式的其中的一种抽象

  合成模式有一个前提:

  其中的被包含对象要和包含对象有一个公共接口

  一棵简单的树:          Public Interface ComponentInterface        Function Parent() As ComponentInterface        Function Children() As ComponentInterface()        Function IsHaeChildren() As Boolean                End Interface        Public Class Components        Implements ComponentInterface        Public Function Children() As ComponentInterface() Implements ComponentInterface Children        End Function        Public Function IsHaeChildren() As Boolean Implements ComponentInterface IsHaeChildren        End Function        Public Function Parent() As ComponentInterface Implements ComponentInterface Parent        End Function        End Class        Public Class Component        Implements ComponentInterface        Public Function Children() As ComponentInterface() Implements ComponentInterface Children                End Function        Public Function IsHaeChildren() As Boolean Implements ComponentInterface IsHaeChildren        Return False        End Function        Public Function Parent() As ComponentInterface Implements ComponentInterface Parent                End Function        End Class

  开始Perry始终不明白 为什么要一个公共接口?

  那是因为 客户代码在操作时需要有一致性 需要遍历 这些没有公共接口就不能实现

  比如:目录可以复制 剪切 也可以打开下一级 回到上一级

  它也规范了合成模式是同接口对象的合成 而不同对象聚合在一起?可以用前面的外观模式来解释 或者后面还有对应的模式呢?

  树只是合成模式的一种简单表示 复杂些的有图 如何用合成模式表示图 或者说如何遍历图 需要看<<数据结构>>

cha138/Article/program/net/201311/13679

相关参考

知识大全 java与模式笔记 - 合成模式

    合成模式:  合成模式把部分和整体的关系用树结构表示出来合成模式使得客户端把一个个单独的成分对象和由他们复合而成的合成对象同等对待    抽象构件角色:  这是一个抽象角色它给参加组合的对象规

知识大全 .NET反射、委托技术与设计模式

.NET反射、委托技术与设计模式  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  反射技术与设计模

知识大全 合成模式

Java与模式:合成模式  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  &n

知识大全 浅析.NET架构与模式探索

浅析.NET架构与模式探索  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  什么是架构    软件

知识大全 ASP.NET谈三层结构与MVC模式的区别

ASP.NET谈三层结构与MVC模式的区别  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在CS

知识大全 设计模式之Facade(外观)

设计模式之Facade(外观)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Facade的定义

知识大全 .NET简谈设计模式之(适配器模式)

.NET简谈设计模式之(适配器模式)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  今天我们要学

知识大全 25种java模式代码参考手册

  抽象工厂(AbstractFactory)模式意图:为特定的客户(或情况)提供特定系列的对象  类的适配器(Adapter)模式意图:将一个类的接口转换成客户希望的另外一个接口  对象的适配器(A

知识大全 外观设计模式组图(Fa?ade pattern)

外观设计模式组图(Fa?adepattern)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  描

知识大全 .net设计模式之观察者模式

  故事    小雪是一个非常漂亮的女孩漂亮的女孩总是有很多的追求者而且追求者的队伍在不断的变动随时有人进入这个队伍也有人退出男孩们追求女孩时总是表现出%的关心当小雪私自游玩时总是不断收到追求者询问小