রিয়েল লাইফের উদাহরণটি সিস্টেম.ডাটা.কমনের নেমস্পেসে সরবরাহ করা হয়েছে যেখানে অ্যাবস্ট্র্যাক্ট বেস ক্লাস রয়েছে যার মধ্যে ডিবি সংযোগ, ডিবিকম্যান্ড এবং ডিবিডাটা অ্যাডাপ্টার অন্তর্ভুক্ত রয়েছে এবং .NET ফ্রেমওয়ার্ক ডেটা সরবরাহকারী, যেমন System.Data.SqlClient এবং System.Data.OracleClient এর সাথে ভাগ করেছেন কোনও ডেভেলপারকে জেনেরিক ডেটা অ্যাক্সেস কোড লিখতে সক্ষম করুন যা কোনও নির্দিষ্ট ডেটা সরবরাহকারীর উপর নির্ভর করে না।
ডিবিপ্রভাইডার ফ্যাক্টরিগুলি ক্লাস একটি ডিবিপ্রভাইডার ফ্যাক্টরি ইনস্ট্যান্স তৈরির জন্য স্থির পদ্ধতি সরবরাহ করে। উদাহরণস্বরূপ সরবরাহকারীর তথ্য এবং রান সময় সরবরাহিত সংযোগ স্ট্রিংয়ের উপর ভিত্তি করে একটি সঠিক দৃ strongly়ভাবে টাইপ করা বস্তুটি দেয় returns
উদাহরণ:
DataTable allProvidersTable = DbProviderFactories.GetFactoryClasses();
/* Getting SqlClient family members */
DbProviderFactory dbProviderFactory = DbProviderFactories.GetFactory("System.Data.SqlClient");
DbCommand dbCommand = dbProviderFactory.CreateCommand();
DbConnection dbConnection = dbProviderFactory.CreateConnection();
DbDataAdapter dbDataAdapter = dbProviderFactory.CreateDataAdapter();
SqlClientFactory sqlClientFactory = (SqlClientFactory)dbProviderFactory;
SqlConnection sqlConnection = (SqlConnection)dbConnection;
SqlCommand sqlCommand = (SqlCommand) dbCommand;
SqlDataAdapter sqlDataAdapter = (SqlDataAdapter) dbDataAdapter;
/* Getting OracleClient family members*/
dbProviderFactory = DbProviderFactories.GetFactory("System.Data.OracleClient");
dbCommand = dbProviderFactory.CreateCommand();
dbConnection = dbProviderFactory.CreateConnection();
dbDataAdapter = dbProviderFactory.CreateDataAdapter();
OracleClientFactory oracleClientFactory = (OracleClientFactory)dbProviderFactory;
OracleConnection oracleConnection = (OracleConnection)dbConnection;
OracleCommand oracleCommand = (OracleCommand)dbCommand;
OracleDataAdapter oracleDataAdapter = (OracleDataAdapter)dbDataAdapter;
উদাহরণ-2
কোড সলিউশন আর্কিটেকচার
কংক্রিট কারখানার উদাহরণ নীচে স্থির কারখানার পদ্ধতি ব্যবহার করে সরবরাহ করা হয়
public class FurnitureProviderFactory
{
public static IFurnitureFactory GetFactory(string furnitureType)
{
if (furnitureType == "Wood")
{
return new WoodenFurnitureFactory();
}
if (furnitureType == "Plastic")
{
return new PlasticFurnitureFactory();
}
throw new Exception("Undefined Furniture");
}
}