我刚开始学习设计模式(目前为止只覆盖了外观和抽象,但我很享受)。我正在寻找将Abstract模式应用于我遇到的问题。问题是:使用一个抽象类和一组方法和属性支持各种数据库系统,然后底层的具体类(从抽象类继承)将实现。抽象设计模式实现
我创建了一个DatabaseWrapper抽象类,并创建了从DatabaseWrapper继承的SqlClientData和MSAccessData具体类。
但是,我仍然对模式如何在客户端上实现这些类感到困惑。
我会做以下?:
DatabaseWrapper sqlClient = new SqlClientData(connectionString);
这是我在例子中看到的,但是这不是我要找的,因为我想封装具体类;我只希望客户使用抽象类。这样,我可以在将来只需对客户端进行最少更改的情况下支持更多的数据库系统,并为实现创建新的具体类。
我还在学习,所以这里可能有很多错误。请告诉我如何封装所有具体的类,如果我的方法有什么问题。
非常感谢! PS:我很高兴能够进入软件架构,但仍然是初学者,所以对我来说很容易。 :)
因为我想完全封装具体的类,它仍然是抽象模式? – harsimranb