/// <summary> /// Compares two instances of this object. /// </summary> /// <param name="Builder1">A organization group builder.</param> /// <param name="Builder2">Another organization group builder.</param> /// <returns>true|false</returns> public static Boolean operator >(Builder Builder1, Builder Builder2) { if (Builder1 is null) { throw new ArgumentNullException(nameof(Builder1), "The given organization group must not be null!"); } return(Builder1.CompareTo(Builder2) > 0); }
static void Main(string[] args) { var builder1 = new Builder1(); var director = new Director(builder1); var product1 = director.GetProduct(); product1.Show(); Console.ReadLine(); }
/// <summary> /// Compares two instances of this object. /// </summary> /// <param name="Builder1">A organization group builder.</param> /// <param name="Builder2">Another organization group builder.</param> /// <returns>true|false</returns> public static Boolean operator ==(Builder Builder1, Builder Builder2) { // If both are null, or both are same instance, return true. if (Object.ReferenceEquals(Builder1, Builder2)) { return(true); } // If one is null, but not both, return false. if ((Builder1 is null) || (Builder2 is null)) { return(false); } return(Builder1.Equals(Builder2)); }
public void Test() { var director = new Director(); Builder builder = null; builder = new Builder1(); director.Construct(builder); var result1 = builder.GetResult(); builder = new Builder2(); director.Construct(builder); var result2 = builder.GetResult(); Assert.AreEqual("Part A", result1.PartOne); Assert.AreEqual("Part B", result1.PartTwo); Assert.AreEqual("Part X", result2.PartOne); Assert.AreEqual("Part Y", result2.PartTwo); }
public static void MainRun() { // Create one director and two builders Director director = new Director(); IBuilder b1 = new Builder1(); IBuilder b2 = new Builder2(); // Construct two products director.Construct(b1); Product p1 = b1.GetResult(); p1.Display(); director.Construct(b2); Product p2 = b2.GetResult(); p2.Display(); }
public static void Main() { Director director = new Director(); var b1 = new Builder1(); var b2 = new Builder2(); director.SetBuilder(b1); director.Construct(); var p1 = b1.GetResult(); p1.Display(); director.SetBuilder(b2); director.Construct(); var p2 = b2.GetResult(); p2.Display(); Console.ReadKey(); }
static void Main(string[] args) { // 客户找到电脑城老板说要买电脑,这里要装两台电脑。 // 创建指挥者和构造者 Director director = new Director(); Builder b1 = new Builder1(); Builder b2 = new Builder2(); // 老板叫员工去组装第一台电脑 director.Construct(b1); // 组装完,组装人员搬来组装好的电脑。 Computer computer1 = b1.GetComputer(); computer1.Show(); // 老板叫员工去组装第二台电脑 director.Construct(b2); // 组装完,组装人员搬来组装好的电脑。 Computer computer2 = b2.GetComputer(); computer2.Show(); Console.Read(); }
public static void Main( ) { // Create one director and two builders Director director = new Director( ); IBuilder b1 = new Builder1( ); IBuilder b2 = new Builder2( ); // Construct two products director.Construct(b1); Product p1 = b1.GetResult( ); p1.Display( ); director.Construct(b2); Product p2 = b2.GetResult( ); p2.Display( ); }
static void Main(string[] args) { // Abstract factory IFactory concreteFactory = new WindowsFactory(); var obj1 = concreteFactory.CreateCloneable(); var obj2 = concreteFactory.CreateComparable(); // Builder IBuilder builder = new Builder1(); var director = new Director(builder); var product = director.Construct <IProduct>(); // Factory method Application app = new DrawingApplication(); Document document = app.CreateDocument(); // Prototype Prototype prototype = new ConcretePrototype1(); Prototype newObject = prototype.Clone(); // Command Receiver receiver = new Receiver(); Command command = new ConcreteCommand(receiver); Invoker invoker = new Invoker(); invoker.SetCommand(command); invoker.ExecuteCommand(); // Interpreter var context = new Context(); AbstrcatExpression experssion1 = new NonterminalExpression(); AbstrcatExpression expression2 = new TerminalExpression(); experssion1.Interpret(context); expression2.Interpret(context); // Mediator ConcreteMediator m = new ConcreteMediator(); ConcreteColleague1 c1 = new ConcreteColleague1(m); ConcreteColleague2 c2 = new ConcreteColleague2(m); m.Colleague1 = c1; m.Colleague2 = c2; c1.Send("How are you?"); c2.Send("Fine, thanks"); // Memoto Originator o = new Originator(); o.State = "On"; // Store internal state Caretaker c = new Caretaker(); c.Memento = o.CreateMemento(); // Continue changing originator o.State = "Off"; // Restore saved state o.SetMemento(c.Memento); // Observer ConcreteSubject s = new ConcreteSubject(); s.Attach(new ConcreteObserver(s, "X")); s.Attach(new ConcreteObserver(s, "Y")); s.Attach(new ConcreteObserver(s, "Z")); // Change subject and notify observers s.SubjectState = "ABC"; s.Notify(); }
public static void RunMain() { IBuilder builder1 = new Builder1(); IBuilder builder2 = new Builder2(); Director director = new Director(); director.Constructor(builder1); Product product = builder1.GetResult(); product.Display(); director.Constructor(builder2); product = builder2.GetResult(); product.Display(); }