| 网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 |
![]() |
| Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道 |
外观模式 网管bitscn_com
就是将一大堆功能,合并成一个接口提供给客户代码. 网管bitscn_com
比如一个Window类,用户就不需要手工编写很多创建窗体的代码. 这就是外观模式. 网管联盟bitsCN@com
其实,很多模式我们在编写代码时就在使用,只不过没这么称呼而已.也提醒我,看模式书籍时,尽量不要太关注模式的名称.
中国网管联盟bitsCN.com
例如,我们可以将错误处理封装在一个类中:
|
Public Class ErrorManage '... 网管u家u.bitscn@com
Enum ErrorType |
客户代码:
| ErrorManage.RecordError("some description...", ErrorManage.ErrorType.suggest, False) |
这就是外观模式,晕,Perry觉得有点儿唬人. 网管u家u.bitscn@com
以前,函数可以看做外观模式的一种.但在VB. Net中是用类来组织代码,因此,我们一般说这个类使用了外观模式,其实是指这个类是一个服务类,提供一些静态成员给客户代码使用而已.而这些静态成员,将客户端需要许多步骤才能完成的工作简化了.
此外观和程序的外观完全没关系,这个模式不是教我们做UI的.
网管联盟bitsCN_com
Perry觉得唬人,不是对”外观模式”的轻视,而是自己先被”模式”吓到了.模式可以让我们在编写程序时,更清晰,更有把握,交流起来也明确. 网管联盟bitsCN@com
合成模式 网管论坛bbs_bitsCN_com
简单来说,一个类中能包含自身的集合,就叫合成模式.常见的如目录下有目录和文件...
树是合成模式的其中的一种抽象. 网管网www_bitscn_com
合成模式有一个前提:
其中的被包含对象要和包含对象有一个公共接口.
一棵简单的树:
| 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 网管bitscn_com 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 网管联盟bitsCN_com '... End Function End Class |
网管网www.bitscn.com
开始Perry始终不明白,为什么要一个公共接口? 网管bitscn_com
那是因为,客户代码在操作时需要有一致性,需要遍历.这些没有公共接口就不能实现. 网管网www_bitscn_com
比如:目录可以复制,剪切...,也可以打开下一级,回到上一级. 网管u家u.bitscn@com
它也规范了合成模式是同接口对象的合成,而不同对象聚合在一起?可以用前面的外观模式来解释,或者后面还有对应的模式呢?
树只是合成模式的一种简单表示,复杂些的有图.如何用合成模式表示图,或者说如何遍历图,需要看<<数据结构>>.
网管bitscn_com
合成模式典型应用在结构(物料BOM),流程性质管理(过程节点). 网管bitscn_com
|
0
|
评论加载中…