Example #1
0
        static void Main(string[] args)
        {
            Manufacturer  newManufacturer = new Manufacturer();
            IPhoneBuilder phoneBuilder, phoneBuilder2 = null;

            phoneBuilder  = new AndroidPhoneBuilder();
            phoneBuilder2 = new WindowsPhoneBuilder();
            newManufacturer.Construct(phoneBuilder);
            newManufacturer.Construct(phoneBuilder2);
            Console.WriteLine("A new Phone built:\n\n{0}", phoneBuilder.Phone.ToString());
            Console.WriteLine("A new Phone built:\n\n{0}", phoneBuilder2.Phone.ToString());
        }
Example #2
0
        public void ConstructPhone_WindowsPhoneBuilder_WindowsPhoneIsBuilt()
        {
            // Arrange
            var           newMancufacturer = new Mancufacturer();
            IPhoneBuilder phoneBuilder     = new WindowsPhoneBuilder();

            // Act
            newMancufacturer.Construct(phoneBuilder);

            // Assert
            Assert.That(phoneBuilder.Phone.Name, Is.EqualTo("Windows Phone"));
            Assert.That(phoneBuilder.Phone.OS, Is.EqualTo(OperatingSystem.WINDOWS_PHONE));
        }
Example #3
0
        /// <summary>
        /// When we have an application that need to create an object which has to be constructed using
        /// many different objects, we find our client code cluttered with the details of the various
        /// Part objects that needs to be assembled together to create the resulting object.
        /// Separate the construction of a complex object from its representation so that the same
        /// construction process can create different representations.
        /// </summary>
        public static void Run()
        {
            Manufacturer  manufacturer = new Manufacturer();
            IPhoneBuilder phoneBuilder = null;

            phoneBuilder = new AndroidPhoneBuilder();
            // Will Construct Android Phone
            manufacturer.Construct(phoneBuilder);
            Console.WriteLine("A new Phone is  built: " + phoneBuilder.Phone.ToString());

            phoneBuilder = new WindowsPhoneBuilder();
            manufacturer.Construct(phoneBuilder);
            Console.WriteLine("A new Phone is  built: " + phoneBuilder.Phone.ToString());
        }
Example #4
0
        private static void BuilderPattern()
        {
            Manufacturer manufacturer = new Manufacturer();

            IPhoneBuilder phoneBuilder = null;

            phoneBuilder = new AndroidPhoneBuilder();
            manufacturer.Construct(phoneBuilder);
            Console.WriteLine("A new Phone built:\n\n{0}", phoneBuilder.Phone.ToString());

            phoneBuilder = new WindowsPhoneBuilder();
            manufacturer.Construct(phoneBuilder);
            Console.WriteLine("A new Phone built:\n\n{0}", phoneBuilder.Phone.ToString());
        }
        public void MobilePhone_Android_BuilderPattern_Test()
        {
            // Arrange
            Manufacturer  newManufacturer = new Manufacturer();
            IPhoneBuilder phoneBuilder    = null; // Lets have the Builder class ready

            // Creating an Android phone
            phoneBuilder = new AndroidPhoneBuilder();
            newManufacturer.Construct(phoneBuilder);
            Debug.WriteLine("A new Phone built:\n\n{0}", phoneBuilder.Phone.ToString());

            // Now let us create a Windows Phone
            phoneBuilder = new WindowsPhoneBuilder();
            newManufacturer.Construct(phoneBuilder);
            Debug.WriteLine("A new Phone built:\n\n{0}", phoneBuilder.Phone.ToString());
        }
Example #6
0
        public static void Perform()
        {
            Manufacturer  manufacturer = new Manufacturer();
            IPhoneBuilder phoneBuilder = null;

            phoneBuilder = new AndriodPhoneBuilder();
            manufacturer.Construct(phoneBuilder);
            Console.WriteLine("\n\nNew phone build : \n" + phoneBuilder.Phone.ToString());
            phoneBuilder = new WindowsPhoneBuilder();
            manufacturer.Construct(phoneBuilder);
            Console.WriteLine("\n\nNew phone build : \n" + phoneBuilder.Phone.ToString());
            phoneBuilder = new SymbionPhoneBuilder();
            manufacturer.Construct(phoneBuilder);
            Console.WriteLine("\n\nNew phone build : \n" + phoneBuilder.Phone.ToString());
            Console.WriteLine("");
        }
Example #7
0
        internal static void Run()
        {
            // Lets create the Director first

            Manufacturer newManufacturer = new Manufacturer();
            // Lets have the Builder class ready
            IPhoneBuilder phoneBuilder = null;

            // Now let us create an android phone
            phoneBuilder = new AndroidPhoneBuilder();
            newManufacturer.Construct(phoneBuilder);
            Console.WriteLine("A new Phone built:\n\n{0}", phoneBuilder.Phone.ToString());

            // Now let us create a Windows Phone
            phoneBuilder = new WindowsPhoneBuilder();
            newManufacturer.Construct(phoneBuilder);
            Console.WriteLine("A new Phone built:\n\n{0}", phoneBuilder.Phone.ToString());
        }