本文起因来自知乎的一个回答。面向对象、面向服务、面向组件三种编程模式有什么区别?分别适用于哪些领域的开发?
http://www.zhihu.com/question/20478119
无论什么东西,变大变多了之后,就会有一系列问题。
面向XX 就是为了解决系统成长过程中遇到问题,而采用的一些范式。
举例来说:你开始给一个企业做MIS系统。
当这个企业来很小的时候,用简单的面向对象编程,一个数据库+tomcat+浏览器已经满足需求。不需要考虑面向组件开发和SOA.
慢慢的,这个企业长大了,当初简单的mis系统,变得越来越复杂和庞大。系统中有很多重复功能的代码。当这些功能模块的业务有变化时是你头疼的时候:代码中有很多地方要修改,遇到新员工,有时总是改不全。系统上线问题越来越多,需求响应时间也越来越长。经常被客户骂:他X的,这么简单的需求搞了半个月都上不了线。去年xxxxxxx两天就上线了。
此时,你会考虑怎么把系统中那些重复的代码统一起来。你会考虑到组件化,即“面向组件”。你把一个个比较独立的业务模块约定好接口,开发成组件。以后再有类似的功能模块,直接调用这个组件,即节省开发成本,又容易维护。
后来,企业变成了集团公司。已经上线了很多套各种各样的mis系统。虽然大部分系统都实现了组件化。但做为一个集团公司,仍然有很多共同的业务,不同mis系统中有很多功能重复的模块。此时又面临业务升级困难,难以使用的问题:一个需求可能要涉及很多套mis系统的升级。同时每套系统都有独自的界面,客户录入一个数据,要打开N个页面,要登陆N次,叫苦不迭。各种数据不一致的问题接踵而来。
SOA来啦。架构师把各个系统功能类似的模块抽象成服务,重复的模块再也没有了,不同系统间互相调用服务接口。以前要自己写一大堆代码,现在搞清楚接口,直接调用另一套Mis系统的服务接口就 OK了。也有了单点登陆,有了portal,有了搜索引擎,有了知识库等等。
新的问题来了:
总有一些很重要的服务,所有的系统都会依赖它,它出一点问题,所有系统都停转。你开始考虑双机,热备,负载均衡。
以前用的IBM的主机+Oracle数据库+EMC的存储,再后来买更贵的性能更好的。慢慢的你发现,企业挣的钱都他妈的给了IOE。
你开始考虑使用开源产品,考虑分布式。
分享到:
相关推荐
面向过程、面向对象、面向组件、面向服务软件架构的分析与比较
面向对象方法EJB组件面向对象方法EJB组件面向对象方法EJB组件面向对象方法EJB组件
visual basic.net 面向对象可重用组件开发visual basic.net 面向对象可重用组件开发
Visual Basic .NET面向对象可重用组件开发程序例子
面向对象方法CORBA组件笔记.面向对象方法CORBA组件笔记.面向对象方法CORBA组件笔记.
第五章 面向对象软件开发过程 学习目的: ① 了解面向对象软件开发过程 ② 理解OOD与OOA的区别 面向对象分析 面向对象设计 面向对象程序设计
VB.NET 面向对象可重用组件开发
面向对象方法学COM组件笔记,需要下载,面向对象方法学COM组件笔记,需要下载,
VB.NET 面向对象可重用组件开发.rar
在这期间,程序设计语言主要经历了从面向过程(如C和Pascal语言)到面向对象(如C++和Java语言),再到面向组件编程(如.NET平台下的C#语言),以及正在快速发展的面向服务架构技术(如SOA和WebService)。
实验报告 问题回答 程序代码和截图都有 都可运行 造福后辈 嘿嘿 实验一 Java的运行环境和运行一个Java程序 实验二 Java语言基础——数据类型、运算符、表达式和控制结构 实验三 类、对象和包 实验四、异常处理 1....
面向对象的PLC上位机软件平台设计 Design of Object-oriented...开发语言平台和面向对象设计思想的优势,实现上位机平台的可配置、可重用、可扩展、低祸合、通用性。 关键词:调度算法上位机工业以太网藕合软件组件化 。
第1章介绍了用于构建面向对象程序的不同类型C++组件,以及如何使用这些组件来构建多线程架构。第2、3、4章简要介绍进程、线程、多任务处理、多线程化、规划以及线程优先权的概念。第5章讨论进程间和线程间通信。第6...
。。。
。。。cs
唱江华,邓文新等编著,高校计算机教学系列教材:本书上篇为Delph程序设计,共七章,包括Delphi概述;...下篇为面向对象的程序设计基础,共五章,介绍了Pascal语言语法以及面向对象的程序设计概念。
面向对象程序设计-Java(张白一) 第1章 Java系统环境概述 第2章 Java语言基础 第3章 程序流程控制 第4章 类与对象 第5章 消息、继承与多态 第6章 数组 第7章 字符串类 第8章 文字与图形GUI设计 第9章 常用组件GUI设计...
面向对象方法课程_Com组件作业(文档+代码)
面向对象UML建模教学楼管理系统,详细文档和各种图用例图类图时序图状态图组件图配置图各种图