您的位置:首页 > 其它

设计模式学习笔记02

2014-02-27 14:45 399 查看
今天学习了 外观模式 对于外观模式的理解就是在实际开发中用一种代理的方式,将程序的隅合性降低,A类对象需要调用B方法和C方法,A1类对象需要调用C方法和D方法,这种类型的项目开发比较执着于细节,一旦变动需要改变整个程序,比较繁琐,外观模式就是,创建一个代理的方式去调用各个方法,A类和A1类的对象直接将任务提交给代理X,由X来管理,来调用底层的实现方法,实现透明化。

书上的例子,举例现实中炒股和基金,炒股需要关注每一只股票的涨跌,而外观模式如同基金,将钱托管给基金,由基金去操作相应的股票。

组合模式,什么是组合模式呢,第一次看书的时候也觉得有一点难懂,书上举的例子,给女朋友买礼物,说好送一件的,但是女朋友买了一套,合在一起也算是一件。

将对象组合成树形结构用来表示“整体-部分”结构,屏蔽了容器对象与单个对象在使用上的差异,为客户端提供了统一的接口。当我们面对一个树形结构的时候,定义一个公共接口,让单个对象和组合对象都去实现这个接口,如果面对单个对象,则直接调用单个对象的方法,如果面对的是组合对象,则用递归遍历之,依次调用每个对象的方法,单个对象就相当于树形结构中的叶子节点。

使用场景:当遇到需求中是体现部分和整体之间的层次关系时,以及希望用户可以忽略组合对象?与单个对象的不同时,统一的使用组合结构中的所有对象时,就应该考虑用组合模式了。

牵涉出的一个小知识点,透明方式和安全方式?透明方式就是实现统一接口的所有叶节点和枝节点都实现了所有的方法,他们对于外界来说是一模一样的,但是问题是叶子节点中很多方法是无用的,这就造成了无用代码。安全模式是什么?在接口中不去声明那些叶子节点中不需要的方法,而是在枝节点上声明管理子类对象的方法,缺点是不透明。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: