Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            #region Withou Factory Pattern

            string      crediCard = "AMEX";
            ICreditCard CrediCard = null;

            if (crediCard == "Discover")
            {
                CrediCard = new DiscoverCreditCard();
            }
            else if (crediCard == "Chase")
            {
                CrediCard = new ChaseCreditCard();
            }
            else if (crediCard == "AMEX")
            {
                CrediCard = new AMEXCreditCard();
            }

            if (CrediCard != null)
            {
                Print(CrediCard);
            }
            #endregion Without Design Pattern

            ICreditCard creditCard = CreditCardFactory.getCrediCatd("AMEX");
            Print(creditCard);
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            IcreditCard cardDetails = CreditCardFactory.GetCreditCard("Platinum");

            if (cardDetails != null)
            {
                Console.WriteLine("CardType : " + cardDetails.GetCardType());
                Console.WriteLine("CreditLimit : " + cardDetails.GetCreditLimit());
                Console.WriteLine("AnnualCharge :" + cardDetails.GetAnnualCharge());
            }
            else
            {
                Console.Write("Invalid Card Type");
            }
            Console.ReadLine();
        }
Ejemplo n.º 3
0
        static void Main(string[] args)
        {
            //This is going to return an instance of a particular card type object
            //through the interface IcreditCard.
            ICreditCard creditCardInstance = new PlatinumCreditCardFactory().CreateProduct();

            if (creditCardInstance != null)
            {
                Console.WriteLine("Card Type: " + creditCardInstance.GetCardType());
                Console.WriteLine("Card Limit: " + creditCardInstance.GetCardLimit());
                Console.WriteLine("Annual Charge: " + creditCardInstance.GetAnnualCharge());
            }
            else
            {
                Console.WriteLine("Invalid Card type.");
            }
            Console.WriteLine("*************************************************************");
            creditCardInstance = new MoneybackCreditCardFactory().CreateProduct();
            if (creditCardInstance != null)
            {
                Console.WriteLine("Card Type: " + creditCardInstance.GetCardType());
                Console.WriteLine("Card Limit: " + creditCardInstance.GetCardLimit());
                Console.WriteLine("Annual Charge: " + creditCardInstance.GetAnnualCharge());
            }
            else
            {
                Console.WriteLine("Invalid Card type.");
            }

            Console.WriteLine("******************************Credit Card Factory Layer is another abstract layer*******************************");
            //This is going to return an instance of a Particular Card type object
            int         cardType    = Convert.ToInt32(Console.ReadLine());
            ICreditCard cardFactory = new CreditCardFactory().CreateObject(cardType);

            if (creditCardInstance != null)
            {
                Console.WriteLine("Card Type: " + cardFactory.GetCardType());
                Console.WriteLine("Card Limit: " + cardFactory.GetCardLimit());
                Console.WriteLine("Annual Charge: " + cardFactory.GetAnnualCharge());
            }
            else
            {
                Console.WriteLine("Invalid Card type.");
            }
            Console.ReadLine();
        }