我正在尝试创建 3 层 winform 应用程序。由于这是我第一次尝试 3 层设计,所以我被卡住了,几乎没有问题。
该应用程序将支持附加多个 sqlite db 文件。
所以我创建了这样的课程
public class Database
{
public string Name { get; set; }
public string FilePath { get; set; }
public bool isAttached { get; private set; }
}
现在我想收集这些对象。
我应该在下面创建另一个像 DatabaseList 这样的类,还是仅仅创建一个 List 就足够了
public class DatabaseList : List<Database>
{
...
对比
List<Database> myDatabases;
Form1.cs 中应该创建什么?
例如,我假设上面的集合应该在 BusinessLayer 而不是 Form1.cs 中创建,并且仅在 Form1.cs 中创建 BusinessLayer 类。这个对吗?
在哪里放置附加方法?
该方法将是这样的:
public void AttachDB(Database db)
{
MySqliteHelper.Attach(db.Name, db.FilePath);
this.Add(db);
}
我是将方法放在 DatabaseList 类中(如果这是创建集合的方法)还是应该放在 BusinessLayer 中?
如何使 Attach 方法支持其他关系数据库,例如也驻留在单个文件中的 MS SQL Compact Edition
我想用与 MySqliteHelper 相同的方法创建另一个通用数据库帮助程序类,而 AttachDB 方法会调用它。就像是
MyDBHelper.Attach(db.Name, db.FilePath);
或者这Dependency Injections
是Ninject
有帮助的地方吗?我以前从未使用过它,我从 Ninject 中回忆起的只是一个拥有不同武器的武士,所以在我看来,这与我的问题有点相似,有不同的特定数据库类。