软件开发者面试百问-----面向对象设计和面向组件设计有哪些不同之处?
2009-11-16 15:46
609 查看
面向对象设计和面向组件设计有哪些不同之处?
面向对象和面向组件设计之间的不同之处在于着眼的粒度不一样,面向对象关注类与类之间的关系,
面向组件着眼于可以独立工作的可替换的代码模块,并且使用的时候无需直销其内部的工作原理。
这两种方法论的根本区别在于对目标应用的关注点上面:
1。面向对象的世界里,虽然可以拆分成很多类,但是这些类一旦被编译,他们其实仍然是一个整体。
2。面向组件的应用包含一组相关的应用程序的模块的集合,简单说就是一堆组建以及使组件关联起来的调用。
第二个区别在于重用上的着重点不同:
1。面向对象一般使用继承来实现重用,而继承是白盒重用,也就是说子类必须完全了解父类的细节
2。面向组件是黑盒重用,使用组件时不用关心其内部的实现,只需要熟悉他的接口。
面向对象和面向组件设计之间的不同之处在于着眼的粒度不一样,面向对象关注类与类之间的关系,
面向组件着眼于可以独立工作的可替换的代码模块,并且使用的时候无需直销其内部的工作原理。
这两种方法论的根本区别在于对目标应用的关注点上面:
1。面向对象的世界里,虽然可以拆分成很多类,但是这些类一旦被编译,他们其实仍然是一个整体。
2。面向组件的应用包含一组相关的应用程序的模块的集合,简单说就是一堆组建以及使组件关联起来的调用。
第二个区别在于重用上的着重点不同:
1。面向对象一般使用继承来实现重用,而继承是白盒重用,也就是说子类必须完全了解父类的细节
2。面向组件是黑盒重用,使用组件时不用关心其内部的实现,只需要熟悉他的接口。
相关文章推荐
- 软件开发者面试百问-----你知道设计模式吗?你用过哪些设计模式?在什么场合下用的?
- 软件开发者面试百问-----除了IDE以外,你还喜欢哪些必不可少的工具?
- 软件开发者面试百问-----在N层架构中都有哪些层?它们各自的职责是什么?
- 软件开发者面试百问
- 软件开发者面试百问
- 软件开发者面试百问-----你怎么保证代码执行速度快,而又不出问题?
- 软件开发者面试百问-----什么时候使用带有静态成员的类,什么时候使用单例?
- 软件开发者面试百问-----你在代码里面怎么提前处理需求的变化?给一些例子。
- 面向对象软件设计原则(三) —— 软件实体的设计原则
- 软件开发者面试百问
- 面向对象分析设计学习与探索(六):好的设计=软件的灵活程度(good design=flexible software)
- 软件开发者面试百问
- 软件开发者面试百问
- 软件开发者面试百问-----是否了解什么是无状态的业务层?长事务如何与之相适应?
- [转]软件开发者面试百问
- 软件开发者面试百问
- 软件开发者面试百问
- 软件开发者面试百问
- 软件开发者面试百问-----在散列表和排序后的列表中找一个元素,哪个查找速度最快?
- 100 Interview Questions for Software Developers-软件开发者面试百问