static void Main(string[] args) { //sample 2 //var repo = new DepartmentRepository(); //var department1 = repo.GetDepartment(1); //var department2 = repo.GetDepartment(1); //Console.WriteLine(department1.GetHashCode() == department2.GetHashCode()); //sample 1 FlyWeightFactory flyWeightFactory = new FlyWeightFactory(); IAlphabet alphabet = flyWeightFactory.GetObject(typeof(A).Name); alphabet.Render("Arial"); Console.WriteLine(); alphabet = flyWeightFactory.GetObject(typeof(B).Name); alphabet.Render("Tahoma"); Console.WriteLine(); alphabet = flyWeightFactory.GetObject(typeof(A).Name); alphabet.Render("Time is New Roman"); Console.WriteLine(); alphabet = flyWeightFactory.GetObject(typeof(A).Name); alphabet.Render("B Nazanin"); Console.WriteLine(); Console.WriteLine("Total new alphabet count:" + flyWeightFactory.Count); Console.ReadKey(); }