请bang老师帮我看下这样说面向服务和面向对象的关系是否正确,谢谢
SOA,从最近所看的一些文章以及课堂上的学习,我觉得面向服务的提法只是对以
前面向对象的方法的改进,最初的面向对象的设计方法中,是抽象出系统里的对象.现在的
面向服务是抽象出系统里的服务.在面向对象的分析中是先找出系统的功能职责,按功能
职责分析出用例,然后考虑用例所涉及到的对象,这些对象就是我们利用面向对象的分析
方法所得出的最结果——对象类.在面向服务的分析中,则是分解业务模型,并将业务模
型分解为业务流程和基本功能,然后这些业务流程和基本功能就是我们所需要服务.根据
这些基本功能和基本业务流程的服务相互组合搭配,可以得到不同的服务,来满足当业
务需求变更时方便的重新组合出适当的服务,即新的业务流程等。
我个人认为,现在SOA虽然已经提出很多年,但它任然还不够成熟。与面向对象
的方相比,它不容易直接对系统所需的业务模型进行分解,而且即使是分解往往会走向
面向对象的分析中,将系统按功能职责分析成用例,因为分析成用例,更容易理解。而
且我还认为,面向服务的分析中,可以适当借鉴面向对象分析中的部分内容。
我认为,如果在面向服务的分析中,也采用面向对象的方法,首先分析出精粒
度的用例,这些用例代表系统的主要业务流程,然后将业务流程进行细化,得到细粒度
的用例,这些细粒度的用例就是我们系统的基本服务(细粒度的服务)。然后反过来,
通过这些细粒度的服务组合出系统所需的业务流程。
如果不对的话我想请bang老师给我指点一下“面向对象”和“面向服务”两者之间的区别和关联等等,谢谢