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()); }
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)); }
/// <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()); }
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()); }
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(""); }
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()); }