WCF框架是个复杂的框架,它的复杂性源于这样一个事实,在抽象层上,一个消息框架必须适应行业标准的不断更新和完善。在WCF设计阶段,SOAP和WS-*被认为是未来主流的消息结构和协议。当初任何一个负责WCF的架构师都不会想到JSON会有今天的地位。但是他们确实明白一个事实,WCF必须很好地兼容和适应那些新的消息结构和传输,就像现在的WCF一样。于是微软设计了高扩展性和适应性的WCF,不但可以满足今天消息需求,也可以满足未来不可预知的新的需求。这些努力的结果就是一个容易使用,但整体上有点难以理解的复杂平台
每个设计过一个大的框架(framework)的人都可以证明,设计、构建、测试和维护这个框架都是一个艰巨的任务。我曾经设计、讨论和构建过几个框架,明白这有多么的困难。当设计一个框架的时候,Alan Kay的名言
[老徐备注1]“简单的东西应该简单,复杂的东西才有可能成功”应该是首要原则。当在看现在的WCF,我想微软通过把许多复杂的东西简单化,已经成功地实现了这个名言,即使从长远来看也是如此。这不是说我认为WCF是完美的,没有错误,而是说,作为一个完整的产品,WCF是精心思考和设计良好的。
WCF核心需求之一就是暴露一个对象模型给开发者,这个对象模型可以兼容所有的传输和协议。具体化的例子就是,WCF团队的架构师希望通过TCP/IP发送消息的代码和通过MSMQ发送消息的代码看起来十分相似。这个特性有以下几个好处。第一,它意味着这个平台不强迫开发者学习各种不同传输和协议的对象模型。实际上,了解WCF对象和执行模型的开发者可以在他们的应用系统里实现对不同传输和协议的支持。第二,它意味着随着WCF的对新的传输、协议和功能的成功支持,开发者没有必要为了开发系统里新的功能而学习新的通信方式。相反,他们可以使用WCF框架里已经存在的通信机制。
由于这些类型的需求,WCF架构由许多交织的层组成。
随着时间的推移,我发现要向完全理解任何一个
WCF
基础架构里的一层,都需要首先理解
WCF
基础架构里每个层相关的一些概念。本章的目的就是要介绍
WCF
应用中主要的层次,为本书后面部分章节深入学习这些层次奠定坚实的基础。
【老徐备注】
1.Simple things should be simple
, complex things should be possible,Alan 是Smalltalk 面向对象编程环境语言的发明人之一,也是面向对象编程思想的创始人之一,他还是笔记本电脑最早的构想者和现代Windows GUI的建筑师(architect)。
本文转自 frankxulei 51CTO博客,原文链接:http://blog.51cto.com/frankxulei/318607
,如需转载请自行联系原作者
微信关注我们
原文链接:https://yq.aliyun.com/articles/418325
转载内容版权归作者及来源网站所有!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
相关文章
发表评论
资源下载
更多资源优质分享Android(本站安卓app)
近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。
Oracle Database,又名Oracle RDBMS
Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。
Apache Tomcat7、8、9(Java Web服务器)
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。
Eclipse(集成开发环境)
Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。