【发布时间】:2020-01-06 14:47:39
【问题描述】:
我是设计模式的新手,我正在读一本书说: 在一个应用程序中,您可能有不同的数据库用户。例如,一位用户可能使用 Oracle 和其他可能使用 SQL Server。每当您需要将数据插入到您的 数据库,您需要创建 SqlConnection 或 OracleConnection 并且仅 那么你可以继续吗?如果将代码放入 if-else(或 switch)语句中,则需要重复大量代码,这不容易维护。这是因为每当你 需要支持一种新的连接类型,你需要重新打开你的代码并使那些 修改。这种类型的问题可以使用工厂方法模式来解决。
这里我有点迷茫,如果你需要使用一种新的连接类型,你不要只添加那个连接类的新类文件(例如
NEWGenerationConnection),然后使用NewGenerationConnection connection = new NewGenerationConnection(connectionString);
connection.open();
....
if-else 是如何参与进来的?以及为什么需要修改基本代码文件?有人可以为我写一些伪代码,以便我更好地理解问题吗?
【问题讨论】:
标签: design-patterns factory-method