使用了一个基础组件,它提供了自己的接口方法,强化了封装(不允许越过它或修改它)。
感觉非常难用:提供的接口本身复杂,甚至需要对内部实现机制有一定了解;提供的接口不能满足当前需要,也不能方便的扩展;感觉有些地方应该和组件的某些部分组成强耦合的封装,无法实现......
感觉组件大体分为:应用(功能)性组件和基础性组件。
应用性组件就是提供一个功能实现对外提供一个可用的服务,这类组件本身可能是算法或是对一类问题的一个成熟的解决方法,可以进行强化的封装,因为他基本上不需要改变。基础性组件,是对一类问题提供一个建议性的、指导性的或是推荐性的思路,或是对实现某一类问题提供辅助和支撑,以简化具体问题的求解过程。该类组件并应该是一个逻辑简单的开放性组件。对于支持范围内的功能,提供默认的实现,并易于扩展,甚至可以完全按自己的思路重新实现,对于支撑外的功能不做干涉。基础组件,不做业务预测和假设,提供基础模型和推荐实现,但不提供一个大而全的必须统一的实现规范。
基础组件应该有什么?一个问题的边界,一个解决问题的骨架,依附于骨架的具体解决方法和辅助工具,一个推荐的实现规范,(2010-05-15)