2012-08-24 8 views
0

我有一个有点复杂的场景,我卡在试图确定一个良好的模型。基本思想是我有一个业务逻辑层,由多个在同一个域中工作的应用程序共享。某些次要功能(例如安全性和可用信息)因应用程序而异。如何为多个应用程序建模核心业务逻辑和专业化?

我必须每个应用程序内使用的应用程序特定的类(如由制造厂提供的)。这将确保在每个应用程序中,唯一加载的对象是与当前应用程序相关的类型。

我遇到的问题是,如果我有一个核心逻辑类B继承自核心逻辑类A和应用程序特定版本的A,我需要某种方式来获得应用程序特定版本的B以表现在它被改变为B的方式和它被改变为A.

我意识到这是一个经典的多重继承问题,但我想我会检查这里看看是否有人有任何想法替代将允许应用程序特定和核心共享功能的模型。

我在这一点另一种方法是简单地禁止继承在任何应用程序特定的代码,并要求任何常见的应用特定代码在由两个非相关的应用特定叶子中使用的共享库被写入。

+0

你的问题听起来有点模糊了我。你能提供一个小的具体例子吗?我会很感兴趣的问题是,沿着线的“我在不久的将来预见什么样的变化的代码,以及什么样的设计降低了维护痛” – Samee

+0

这是一种广泛的问题。通常,我正在寻找一种方法来支持应用程序特定的功能,同时仍然在应用程序之间使用共享的核心业务层,并将应用程序依赖的差异抽象出来。两个应用程序的一个很好的例子可能是前端网站,后端Web服务和Windows服务。在不同的应用程序中,某些业务逻辑的确切需求和行为可能略有不同,但大多数功能将是常见的。 –

+0

@AJHenderson帮助你解决了最近的问题;听起来像我在这里也需要接口:P –

回答

0

这样做的最终结果是,对于继承需要被限制在叶子和任何每个应用是跨应用程序需要被突破至可能被包含在一个类中的多个叶具体。不理想,但是没有多重继承就可以做到最好。