SOA 在这一篇中会逐个介绍一下自己对这些XXX的理解,其实每一个理念都不是莫名其妙产生的而是有产生背景的,这些时髦的名词不是用来炫耀的,而是真正要理解它们是干什么的,并且框架千万不能乱用理念也千万不能乱用,并不是把所有的这些都用上你的系统才是一个牛逼的系统,一定要适合才是最好的,并且要保持简单可靠的原则。所谓SOA,字面上来说是面向服务的架构。有的人不说SOA其实他已经SOA了,有的人大谈SOA但其实只是在用Web服务,SOA可大可小。你可以认为服务调用就是SOA了,也可以认为服务调用只是SOA中的很小一部分。个人觉得SOA的理念是说,把业务逻辑从类库的封装提升到服务的封装,并且通过不同的信道不同的编码格式来提供服务,使异构系统之间也能重用服务,说白了就是让代码从本机重用提升到了跨机器的重用。从最简单的来说,把组件封装成自制的服务,通过交换消息来使用服务提供的功能,那么就是SOA了,但这也仅仅是SOA的开始,比如你是否想过下面的问题怎么解决?
IOC 控制反转依赖注入不是嘴上说说的,它是一个非常实用的理念。有的人即使在使用了IOC之后还没有意识到为什么要使用IOC,我总喜欢在面试的时候问为什么要用容器来创建对象,自己手动new出来有什么不好?有的人回答是手动new出来的性能不高,容器创建的是唯一的对象,那我就会问自己写一个单例的对象也是一样的,为什么要容器创建?其实这样的理解是有误的。个人认为管理对象的生命周期只是IOC容器的一个作用,IOC容器的意义在于: