Created
March 27, 2015 08:30
-
-
Save thedom85/e51992760001b5513daf to your computer and use it in GitHub Desktop.
CSharp_DesignPattern_Factory_ EasySimpleFactory.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
void Main() | |
{ | |
DbServer dbServer = DatabaseFactory.GetDb("Ms Sql Server"); | |
string dbName = dbServer.GetDbServerName(); | |
Console.WriteLine("Server Name : " + dbName); | |
dbServer = DatabaseFactory.GetDb("Oracle Database Server"); | |
dbName = dbServer.GetDbServerName(); | |
Console.WriteLine("Server Name : " + dbName); | |
Console.Read(); | |
} | |
public abstract class DbServer | |
{ | |
public abstract string GetDbServerName(); | |
} | |
public class MsSqlServerDb : DbServer | |
{ | |
public override string GetDbServerName() | |
{ | |
return "MS Sql Server"; | |
} | |
} | |
public class OracleDb : DbServer | |
{ | |
public override string GetDbServerName() | |
{ | |
return "Oracle Database Server"; | |
} | |
} | |
public static class DatabaseFactory | |
{ | |
public static DbServer GetDb(string DbName) | |
{ | |
if (DbName == "Ms Sql Server") | |
{ | |
return new MsSqlServerDb(); | |
} | |
if (DbName == "Oracle Database Server") | |
{ | |
return new OracleDb(); | |
} | |
return new MsSqlServerDb(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment