Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save thedom85/e51992760001b5513daf to your computer and use it in GitHub Desktop.
Save thedom85/e51992760001b5513daf to your computer and use it in GitHub Desktop.
CSharp_DesignPattern_Factory_ EasySimpleFactory.cs
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