BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

文章:实现Web Service依赖倒置

| 作者 霍泰稳 关注 1 他的粉丝 发布于 2007年8月8日. 估计阅读时间: 1 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

作为面向对象设计的一个基本原则,依赖倒置原则(DIP)在降低模块间耦合度方面有很好的指导意义,它的基本要求和示意为“高层模块不应该依赖于低层模块,二者都应该依赖于抽象。抽象不应该依赖于细节。细节应该依赖于抽象。”,本文介绍了如何实现Web Service依赖倒置。

如前面所述,通过抽象可以降低模块间的耦合度,从而在某一模块进行改变时不会影响到程序的其他部分,这种思想在处理Web Services应用时同样适用。在本文中,作者通过单继承+多接口组合的方式对Web Service进行抽象,使得Web Service具备比较好的扩展性,并通过一个事例演示了应用DIP的整个过程。通过有效隔离实体Web Service和抽象Web Service的关系,之前我们所熟悉的设计模式、架构模式等方法又可以得到应用。

查看全文:实现Web Service依赖倒置

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

或许应该更进一步的抽象 by Lin Anders

目前的抽象仅是隔离Web Service的抽象和实现,或许可以更进一步,隔离接口和实现。接口的实现是调用web service还是调用本地,都不是client关心的。

Re: 或许应该更进一步的抽象 by hello hello

确切地说现在已经是这样了。
Client使用的Service其实不是真正的Service,而是Service的Proxy类。
是否使用Local,:), 其实也没有关系,确切地说把Assembly放到本地的话,加个Factory就可以区分WS还是本地的某Assembly中的某各类。

Re: 或许应该更进一步的抽象 by hello hello

确切地说现在已经是这样了。
Client使用的Service其实不是真正的Service,而是Service的Proxy类。
是否使用Local,:), 其实也没有关系,确切地说把Assembly放到本地的话,加个Factory就可以区分WS还是本地的某Assembly中的某各类。

Re: 或许应该更进一步的抽象 by hello hello

确切地说现在已经是这样了。
Client使用的Service其实不是真正的Service,而是Service的Proxy类。
是否使用Local,:), 其实也没有关系,确切地说把Assembly放到本地的话,加个Factory就可以区分WS还是本地的某Assembly中的某各类。

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

4 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT