这可能不是所有可能的,但我想我会在放弃这个想法之前得到你的回应。C#类的方法只能从某些项目调用吗?
我们都在一个解决方案中3个主要项目:界面,逻辑和数据访问。 数据访问项目包含所有对象类及其变量和方法。 逻辑项目包含保存逻辑方法的类以及处理从数据访问项目中保存和加载对象的2个类。 Interface项目是用户界面,任何需要在此/不需要在逻辑层中的类和方法。
我们打算保持清醒的分离,并保持接口的通信 - >逻辑 - >数据访问和备份相同的方式。这一切都很好,但不幸的是,对于Interface来理解数据访问类对象通过它的值传递回来,我们显然需要在接口项目中添加对数据访问项目的引用。
希望我还没有失去任何人?
现在很明显,我们都很好用,允许接口来读取数据访问项目的价值,但我们不希望接口调用项目的任何方法,因为这些都是通过以特定的方式逻辑层处理。我知道这只是一个设计时间问题,但无论如何,我们可以将方法设置为不能从某些项目调用?我们不想捕获什么项目在运行时调用方法,因为这太迟了。
这可能听起来像是一个矫枉过正的问题,但由于我的同事和我可能不是唯一的开发人员,在将其发布给公司后,我们希望任何其他开发人员遵循该解决方案和项目的严格准则和结构。我们可以把它写下来,并尽量确保他们在编写应用程序之前阅读它,但正如我们都知道,如果迫切要求您开展某些工作,并不能保证您有时间阅读其他开发人员技术关于应用程序的规范首先。
如果您需要了解更多信息拿出任何解决方案,请询问路程。
非常感谢所有,
路易·罗素
这是如何防止某人直接从表示层访问DAL代码? – 2009-09-29 08:57:41