我的工作在我的空闲时间,一个简单的数据存储项目用它包裹我周围的工厂模式头。这个想法是采用简单的数据,并使用VB.NET中的简单工厂模式将其保存到数据库中。我认为我对模式本身有一个基本的了解,然而,我正在努力的是如何将工厂类整合到架构中。我对这个项目看起来基本上是这样一个标准的3层架构:工厂模式咨询需要,请
介绍
-Presentation.Common
-Presentation.DataStorageWebAppName
业务
-BusinessLayer.Common
-BusinessLayer.DataStorageAppName
数据
-DataLayer.Common
-DataLayer.DataStorageAppName
常见
-Common
-Common.DataStorageAppName
个
接口
-Interfaces.Common
-Interfaces.DataStorageAppName
在哪些方面遇到麻烦架构的应用程序的特定场景,让我举一个例子。假设在业务层中,我在BusinessLayer.DataStorageAppName DLL中创建了一个名为Foo的类。它有一个接口IFoo,它存在于Interfaces.DataStorageAppName DLL中。为了通过使用简单工厂模式的IFoo接口创建类Foo的实例,现在,我在BusinessLayer.DataStorageAppName中创建一个Factory类,并编写一个共享/静态方法,通过IFoo接口为我提供实例。后来,据我了解,我可以决定换掉这个Factory类返回的对象,而不必做其他事情(理论上)。
要到这一点,这工作,但似乎什么时髦这件事是我现在被迫创建几个工厂类:基本上每一个DLL,让我能避免循环引用。有没有一种更清洁的方式来实施这些工厂类,而不诉诸像城堡温莎等第三方解决方案等。似乎我错过了这里的一个基本概念。看起来好像应该可以在负责分发对象实例的体系结构中拥有一个“存储库”(如果愿意的话)。
预先感谢您!
你的主要目的是简单地访问类?门面VS工厂? – Perpetualcoder 2008-12-29 21:37:38