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

可插入的Adapter?

    来源: 互联网  发布时间:2015-11-19

    本文导语:  我在读《设计模式》一书时,对可“插入的Adapter”完全没看懂。希望高手能让我对它有一个比较感性的认识。谢谢了 | // 看看它的英文原版 Pluggable adapters. A class is more reusable when you mi...

我在读《设计模式》一书时,对可“插入的Adapter”完全没看懂。希望高手能让我对它有一个比较感性的认识。谢谢了

|
// 看看它的英文原版

Pluggable adapters. A class is more reusable when you minimize the assumptions other classes must make to use it. By building interface adaptation into a class, you eliminate the assumption that other classes see the same interface. Put another way, interface adaptation lets us incorporate our class into existing systems that might expect different interfaces to the class. ObjectWorksSmalltalk [Par90] uses the term pluggable adapter to describe classes with built-in interface adaptation. 

Consider a TreeDisplay widget that can display tree structures graphically. If this were a special-purpose widget for use in just one application, then we might require the objects that it displays to have a specific interface; that is, all must descend from a Tree abstract class. But if we wanted to make TreeDisplay more reusable (say we wanted to make it part of a toolkit of useful widgets), then that requirement would be unreasonable. Applications will define their own classes for tree structures. They shouldn't be forced to use our Tree abstract class. Different tree structures will have different interfaces.

In a directory hierarchy, for example, children might be accessed with a GetSubdirectories operation, whereas in an inheritance hierarchy, the corresponding operation might be called GetSubclasses. A reusable TreeDisplay widget must be able to display both kinds of hierarchies even if they use different interfaces. In other words, the TreeDisplay should have interface adaptation built into it.

We'll look at different ways to build interface adaptation into classes in the Implementation section.



    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C++ MultiMaps 成员 insert():插入元素
  • access中记录插入时是不是总在最后一行插入的?
  • C++ Maps 成员 insert():插入元素
  • MySQL插入数据时插入无效列的解决方法
  • C++ Lists(链表) 成员 insert():插入一个元素到list中
  • 在javascript中(如onclick事件中)可以插入用JSP编写的验证权限的代码吗?那该怎样插入呢?
  • C++ Double Ended Queues(双向队列) 成员 insert():插入一个元素到双向队列中
  • 向数据库中插入数据并返回当前插入的行数及全局变量@@IDENTITY应用
  • C++ Vectors 成员 insert():插入元素到Vector中
  • C++ Lists(链表) 成员 insert():插入一个元素到list中 iis7站长之家
  • C++ Strings(字符串) 成员 insert():插入字符
  • 循环里面执行sql插入语句只执行第一个插入,为什么??
  • Linux c++库boost unordered_set数据插入及查找代码举例
  • 用PreparedStatement ps 在数据库中插入记录,但还未提交事务,此时再用Delete语句为什么删除不了用 ps刚才插入的记录,如何可以删除未这
  • Linux c++库boost unordered_map数据插入及查找代码举例
  • 请问:在用proc方式往数据库插入数据时,我能不能定义一个结构体,它与表的每一项对应,将结构体赋好值后,再只将这个结构体插入表中,这行不行啊?
  • c++ stl容器set成员函数介绍及set集合插入,遍历等用法举例
  • 当用servlet与jsp在数据库中插入一条记录时,此时是用tomcat服务器的,当页面显示完成插入时,如果此时按下F5或者选择刷新,系统就会提示
  • HTML 5 <br> 标签-插入简单的换行符
  • 我想插入一条记录到库中,但有要判断username 是否存在于库中/(插入我以实现)<大家来看看)
  • c++类库Boost.Bimap(遍历,插入,查找,删除)参考代码
  • 急问题:在java中嵌入sql的插入语句,插入成功,但是出现异常


  • 站内导航:


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

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

    浙ICP备11055608号-3