static void Main(string[] args) { //create book Book book = new Book("Worley","Inside ASP.NET",10); book.Display(); //create video Video video = new Video("Spielberg","Jaws",23,92); video.Display(); //Make a video borrowable, then borrow and display Console.WriteLine("\nMaking video borrowable"); Borrowable borrowvideo = new Borrowable(video); borrowvideo.BorrowItem("Joe Bloggs"); borrowvideo.BorrowItem("Homer Simpson"); borrowvideo.Display(); Console.WriteLine("\nJoe Bloggs returns video"); // return a vidoe and display - notice video count borrowvideo.ReturnItem("Joe Bloggs"); borrowvideo.Display(); //wait for user Console.ReadKey(true); }
static void Main() { Book book = new Book("Ernest Hemingway", "For Whom the Bell Tolls", 100, 480); Song song = new Song("Metallica", "For Whom the Bell Tolls", 120, 5.12); book.Display(); song.Display(); Console.WriteLine("-----------------------------------------"); Console.WriteLine("Make the book and song borrowable and three books borrowed"); Borrowable borrowableBook = new Borrowable(book); Borrowable borrowableSong = new Borrowable(song); borrowableBook.BorrowItem("Marin Marinov"); borrowableBook.BorrowItem("Ivan Ivanov"); borrowableBook.BorrowItem("Dimitar Dimitrov"); borrowableBook.Display(); Console.WriteLine("-----------------------------------------"); Console.WriteLine("Two books returned"); borrowableBook.ReturnItem("Marin Marinov"); borrowableBook.ReturnItem("Ivan Ivanov"); borrowableBook.Display(); }
static void Main(string[] args) { Beverage essp = new Espresso(); Console.WriteLine(essp.GetDiscription() + "\t" + essp.cost().ToString()); Beverage houseB = new HouseBlend(); Console.WriteLine(houseB.GetDiscription() + "\t" + houseB.cost().ToString()); essp = new Whip(essp); Console.WriteLine(essp.GetDiscription() + "\t" + essp.cost().ToString()); essp = new SteamMilk(essp); Console.WriteLine(essp.GetDiscription() + "\t" + essp.cost().ToString()); houseB = new Soy(houseB); Console.WriteLine(houseB.GetDiscription() + "\t" + houseB.cost().ToString()); // Create book Book book = new Book("Worley", "Inside ASP.NET", 10); book.Display(); // Create video Video video = new Video("Spielberg", "Jaws", 23, 92); video.Display(); // Make video borrowable, then borrow and display Console.WriteLine("\nMaking video borrowable:"); Borrowable borrowvideo = new Borrowable(video); borrowvideo.BorrowItem("Customer #1"); borrowvideo.BorrowItem("Customer #2"); borrowvideo.BorrowItem("Customer #3"); borrowvideo.Display(); borrowvideo.ReturnItem("Customer #1"); borrowvideo.ReturnItem("Customer #2"); borrowvideo.Display(); // Wait for user Console.ReadKey(); while (true) { } }
private void btnDecorator_Click(object sender, EventArgs e) { // Create book Book book = new Book("Worley", "Inside ASP.NET", 10); book.Display(); // Create video Video video = new Video("Spielberg", "Jaws", 23, 92); video.Display(); // Make video borrowable, then borrow and display Debug.WriteLine("\nMaking video borrowable:"); Borrowable borrowvideo = new Borrowable(video); borrowvideo.BorrowItem("Customer #1"); borrowvideo.BorrowItem("Customer #2"); borrowvideo.Display(); }
/** * DECORATOR PATTERN: Attach additional responsibilities to an object dynamically. * Decorators provide a flexible alternative to subclassing for extending functionality. * * Component (LibraryItem) * defines the interface for objects that can * have responsibilities added to them dynamically. * * ConcreteComponent (Book, Video) * defines an object to which additional responsibilities can be attached. * * Decorator (Decorator) * maintains a reference to a Component object and defines an interface * that conforms to Component's interface. * * ConcreteDecorator (Borrowable) * adds responsibilities to the component. */ static void Main(string[] args) { //Create a book Book book = new Book("Steve Henry", ".NET Core Proffessional", 10); book.Display(); // Create video Video video = new Video("Spielberg", "JURRASIC PARK", 30, 120); video.Display(); //Make a video object borrowable, then borrown and display Console.WriteLine("Now make the video borrowable."); Borrowable borrowableVideo = new Borrowable(video); borrowableVideo.BorrowItem("Customer #1"); borrowableVideo.BorrowItem("Customer #2"); borrowableVideo.BorrowItem("Customer #3"); borrowableVideo.BorrowItem("Customer #4"); borrowableVideo.Display(); Console.ReadKey(); }
public static void Run() { // Create book Book book = new Book("Worley", "Inside ASP.NET", 10); book.Display(); // Create video Video video = new Video("Spielberg", "Jaws", 23, 92); video.Display(); // Make video borrowable, then borrow and display Console.WriteLine("\nMaking video borrowable:"); Borrowable borrowvideo = new Borrowable(video); borrowvideo.BorrowItem("Customer #1"); borrowvideo.BorrowItem("Customer #2"); borrowvideo.Display(); // Wait for user Console.ReadKey(); }
static void DecoratorTester() { #region sample 1 var c = new ConcreteComponent(); var d1 = new ConcreteDecoratorA(); var d2 = new ConcreteDecoratorB(); // Link decorators d1.SetComponent(c); d2.SetComponent(d1); d2.Operation(); #endregion #region sample 2 var book = new Book("Worley", "Inside ASP.NET", 10); book.Display(); // Create video var video = new Video("Spielberg", "Jaws", 23, 92); video.Display(); // Make video borrowable, then borrow and display Console.WriteLine("\nMaking video borrowable:"); var borrowvideo = new Borrowable(video); borrowvideo.BorrowItem("Customer #1"); borrowvideo.BorrowItem("Customer #2"); borrowvideo.Display(); #endregion }
public static void Run() { IRobot robot = new Robot(); robot.Introduce("Hello"); IRobot dancingRobot = new DancingRobot(robot); dancingRobot.Introduce("He yo"); IRobot dancingAndShooting = new DancingAndShootingRobot(dancingRobot); dancingAndShooting.Introduce("Hey"); Console.WriteLine(new String('-', 50)); //2 // Create book var book = new Book("Microsoft", "CLR via C# 4", 10); book.Display(); Console.WriteLine(new string('-', 60)); // Create video var video = new Video("Stanley Kubrick", "A Clockwork Orange", 23, 92); video.Display(); Console.WriteLine(new string('-', 60)); // Make book borroable, then borrow and display Console.WriteLine("Making book borrowable:"); var borrowableBook = new Borrowable(book); borrowableBook.BorrowItem("Nikolay Kostov"); borrowableBook.BorrowItem("Ivaylo Kenov"); borrowableBook.Display(); Console.WriteLine(new string('-', 60)); // Make video borrowable, then borrow and display Console.WriteLine("Making video borrowable:"); var borrowableVideo = new Borrowable(video); borrowableVideo.BorrowItem("Nikolay Kostov"); borrowableVideo.BorrowItem("Ivaylo Kenov"); borrowableVideo.Display(); Console.WriteLine(new string('-', 60)); // Make only video buyable Console.WriteLine("Making video buyable:"); var buyableAndBorrowableVideo = new Buyable(borrowableVideo, 15); buyableAndBorrowableVideo.Display(); Console.WriteLine(new string('-', 60)); }
public static void Main() { var book = new Book("Iskra Nikolova", "Nishto", 12); var video = new Video("Iskra Nikolova", "Neshto", 22, 99); var borrowableVideo = new Borrowable(video); borrowableVideo.Display(); var borrowableVideo1 = new Borrowable(book); borrowableVideo1.Display(); }
public void DecoTest() { book.Display(); video.Display(); // Make video borrowable, then borrow and display Console.WriteLine("\nMaking video borrowable:"); Borrowable borrowvideo = new Borrowable(video); borrowvideo.BorrowItem("Customer #1"); borrowvideo.BorrowItem("Customer #2"); borrowvideo.Display(); }
static void Main(string[] args) { //ConcreteComponent component = new ConcreteComponent(); //ConcreteDecoratorA decoratorA = new ConcreteDecoratorA(); //ConcreteDecoratorB decoratorB = new ConcreteDecoratorB(); //decoratorA.SetComponent(component); //decoratorB.SetComponent(decoratorA); //decoratorB.Operation(); //BasicPerson person = new BasicPerson(); //TShirtDecorator ts = new TShirtDecorator(); //HeadDecorator hd = new HeadDecorator(); //TrousersDecorator tr = new TrousersDecorator(); //tr.SetPerson(person); //ts.SetPerson(tr); //hd.SetPerson(ts); //hd.Show(); // Create book Book book = new Book("Worley", "Inside ASP.NET", 10); book.Display(); // Create video Video video = new Video("Spielberg", "Jaws", 23, 92); video.Display(); // Make video borrowable, then borrow and display Console.WriteLine("\nMaking video borrowable:"); Borrowable borrowvideo = new Borrowable(video); borrowvideo.BorrowItem("Customer #1"); borrowvideo.BorrowItem("Customer #2"); borrowvideo.Display(); Console.WriteLine("Hello World!"); }
public void TestMethod1() { Book book = new Book("Worley", "Inside ASP.NET", 10); var res0 = book.Display(); // Create video Video video = new Video("Spielberg", "Jaws", 23, 92); var res1 = video.Display(); //Make video borrowable, then borrow and display Borrowable borrowvideo = new Borrowable(video); borrowvideo.BorrowItem("Customer #1"); borrowvideo.BorrowItem("Customer #2"); var res2 = borrowvideo.Display(); }
public static void Main() { var book = new Book("Roy Osherove", "The Art Of Unit Testing", 12); book.Display(); var video = new Video("Mary Lambert", "It", 23, 92); video.Display(); Console.WriteLine("\nMaking video borrowable:"); var borrowableVideo = new Borrowable(video); borrowableVideo.BorrowItem("Stamat Hinknov"); borrowableVideo.BorrowItem("Gosho Peshev"); borrowableVideo.Display(); }
private static void DecoratorDemo() { var book = new Book("Worley", "Inside ASP.NET", 10); book.Display(); Video video = new Video("Spielberg", "Jaws", 23, 92); video.Display(); Console.WriteLine("\nMaking video borrowable:"); Borrowable borrowvideo = new Borrowable(video); borrowvideo.BorrowItem("Customer #1"); borrowvideo.BorrowItem("Customer #2"); borrowvideo.Display(); }
public static void TestBorrowables() { var book = new Book("Worley", "Inside ASP.NET", 10); var bookProps = book.Display(true); Assert.True(bookProps.Contains("Worley") || bookProps.Contains("Inside ASP.NET") || bookProps.Contains("10")); var video = new Video("Spielberg", "Jaws", 23, 92); var videoProps = video.Display(true); Assert.True(videoProps.Contains("Spielberg") || videoProps.Contains("Jaws") || videoProps.Contains("23") || videoProps.Contains("92")); var borrowvideo = new Borrowable(video); borrowvideo.BorrowItem("Customer #1"); borrowvideo.BorrowItem("Customer #2"); var borrowProps = borrowvideo.Display(true); Assert.True(borrowProps.Contains("Customer #1") || borrowProps.Contains("Customer #2")); }
public static void DecoratorRealWorld() { // Create book Book book = new Book("Worley", "Inside ASP.NET", 10); book.Display(); // Create video Video video = new Video("Spielberg", "Jaws", 23, 92); video.Display(); // Make video borrowable, then borrow and display Log.WriteLine("\nMaking video borrowable:"); Borrowable borrowvideo = new Borrowable(video); borrowvideo.BorrowItem("Customer #1"); borrowvideo.BorrowItem("Customer #2"); borrowvideo.Display(); }
static void Main(string[] args) { Book book = new Book("Veysel MUTLU", "Decorator Design Pattern", 100); book.Display(); Video video = new Video("Veysel MUTLU", "Junior Developer.mp4", 23, 92); video.Display(); Console.WriteLine("\n Video Ödünç Alınabilir Yapılıyor"); Borrowable borrowvideo = new Borrowable(video); borrowvideo.BorrowItem("Müşteri #1"); borrowvideo.BorrowItem("Müşteri #2"); borrowvideo.Display(); Console.ReadKey(); }
private static void TestDecorator() { Console.WriteLine("Testing decorator..."); // Create book var book = new Book("Worley", "Inside ASP.NET", 10); book.Display(); // Create video var video = new Video("Spielberg", "Jaws", 23, 92); video.Display(); // Make video borrowable, then borrow and display Console.WriteLine("\nMaking video borrowable:"); var borrowvideo = new Borrowable(video); borrowvideo.BorrowItem("Customer #1"); borrowvideo.BorrowItem("Customer #2"); borrowvideo.Display(); }
public void Execute() { Message("Tworzymy obiekt Book który dziedziczy po abstrakcji LibraryItemBase"); LibraryItemBase book = new Book("Wiśniewski", "Samotność w sieci", 2); book.Display(); Message("Tworzymy obiekt video który dziedziczy również po abstrakcji LibraryItemBase"); LibraryItemBase video = new Video("Star wars", "George Lucas", 120, 3); video.Display(); Message(string.Format("Tworzymy obiekt który bedziemy dekorować{0}Dziedziczy on po abstrakcji dekoratora, który z kolei dziedziczy po LibraryItemBase{0}W dekratorze jest referencja do obiektu LibraryItemBase", Environment.NewLine)); Borrowable borrowable = new Borrowable(book); borrowable.BorrowItem("Customer1"); borrowable.BorrowItem("Customer2"); borrowable.Display(); Message(string.Format("SCHEMAT: {0}LibraryItemBase(ComponentBase) <--- Video,Book(Concrete component){0}LibraryItemBase <--- Decorator(Decorator){0}Decorator <---Obiekt dekorowany(Concrete decorator)", Environment.NewLine)); Message(string.Format("UWAGI{0}Obiekt dekorujący musi posiadać konstruktor z parametrem LibraryItemBase który jest przepisany z Decoratora", Environment.NewLine)); }
static void Main(string[] args) { Console.WriteLine("******Singleton******\n"); LoadBalancer L1 = LoadBalancer.GetLoadBalancer(); LoadBalancer L2 = LoadBalancer.GetLoadBalancer(); LoadBalancer L3 = LoadBalancer.GetLoadBalancer(); LoadBalancer L4 = LoadBalancer.GetLoadBalancer(); if (L1 == L2 && L2 == L3 && L3 == L4) { Console.WriteLine("Same Instance"); } LoadBalancer load = LoadBalancer.GetLoadBalancer(); for (int i = 0; i < 15; i++) { Console.WriteLine(load.Server); } Console.WriteLine("\n******AbstractFactory******\n"); ContinentFactory africa = new AfricaFactory(); AnimalWorld earth = new AnimalWorld(africa); earth.RunFoodChain(); ContinentFactory america = new AmericaFactory(); earth = new AnimalWorld(america); earth.RunFoodChain(); Console.WriteLine("\n******Factory******\n"); Document[] document = new Document[2]; document[0] = new Report(); document[1] = new Resume(); foreach (Document doc in document) { Console.WriteLine(doc.GetType().Name + " contains:"); foreach (Page page in doc.Pages) { Console.WriteLine("\t" + page.GetType().Name); } } Console.WriteLine("\n******Facade******\n"); Mortgage mort = new Mortgage(); Customer customer = new Customer("Chad"); int amount = 100000; bool elligable = mort.IsElligable(customer, amount); Console.WriteLine(customer.Name + " is " + (elligable ? "elligable" : "not elligable")); Console.WriteLine("\n******Decorator******\n"); Book book = new Book("George RR Martin", "A song of ice and fire", 22); book.Display(); Video video = new Video("Jaws", "Spielberg", 92, 18); video.Display(); Borrowable borrowableVideo = new Borrowable(video); borrowableVideo.BorrowItem("Sky"); borrowableVideo.BorrowItem("Inga"); borrowableVideo.Display(); Console.WriteLine("\n******Prototype******\n"); ColorManager colorManager = new ColorManager(); colorManager["red"] = new Color(255, 0, 0); colorManager["green"] = new Color(0, 255, 0); colorManager["blue"] = new Color(0, 0, 255); colorManager["angry"] = new Color(255, 54, 0); colorManager["peace"] = new Color(128, 211, 128); colorManager["flame"] = new Color(211, 34, 20); Color color1 = colorManager["red"].Clone() as Color; Color color2 = colorManager["peace"].Clone() as Color; Color color3 = colorManager["flame"].Clone() as Color; Console.WriteLine("\n******Builder******\n"); VehicleBuilder builder; Shop shop = new Shop(); builder = new ScooterBuilder(); shop.Construct(builder); builder.Vehicle.Show(); builder = new CarBuilder(); shop.Construct(builder); builder.Vehicle.Show(); builder = new MotorcycleBuilder(); shop.Construct(builder); builder.Vehicle.Show(); Console.WriteLine("\n******Adapter******\n"); Compound unknown = new RichCompound("Unknown"); unknown.Display(); Compound water = new RichCompound("Water"); water.Display(); Compound benzene = new RichCompound("Benzene"); benzene.Display(); Compound ethanol = new RichCompound("Ethanol"); ethanol.Display(); Console.WriteLine("\n******Bridge******\n"); Customers customers = new Customers("Chicago"); customers.Data = new CustomersData(); customers.Show(); customers.Next(); customers.Show(); customers.Next(); customers.Show(); customers.Add("Henry Velasquez"); customers.ShowAll(); Console.WriteLine("\n******Composite******\n"); CompositeElement root = new CompositeElement("Picture"); root.Add(new PrimitiveElement("Red Line")); root.Add(new PrimitiveElement("Blue Circle")); root.Add(new PrimitiveElement("Green Box")); CompositeElement comp = new CompositeElement("Two Circles"); comp.Add(new PrimitiveElement("Black Circle")); comp.Add(new PrimitiveElement("White Circle")); root.Add(comp); PrimitiveElement pe = new PrimitiveElement("Yellow Line"); root.Add(pe); root.Remove(pe); root.Display(1); Console.WriteLine("\n******Observer******\n"); IBM ibm = new IBM("IBM", 120.00); ibm.Attach(new Investor("Sorros")); ibm.Attach(new Investor("Berkshire")); ibm.Price = 120.10; ibm.Price = 121.00; ibm.Price = 120.50; ibm.Price = 120.75; Console.WriteLine("\n******Strategy******\n"); SortedList studentRecords = new SortedList(); studentRecords.Add("Samuel"); studentRecords.Add("Jimmy"); studentRecords.Add("Sandra"); studentRecords.Add("Vivek"); studentRecords.Add("Anna"); studentRecords.SetSortStrategy(new QuickSort()); studentRecords.Sort(); studentRecords.SetSortStrategy(new ShellSort()); studentRecords.Sort(); studentRecords.SetSortStrategy(new MergeSort()); studentRecords.Sort(); /* * Console.WriteLine("\n******Template******\n"); * DataAccessObject daoCategories = new Categories(); * daoCategories.Run(); * * DataAccessObject daoProducts = new Products(); * daoProducts.Run(); */ Console.WriteLine("\n***Chain of Responsibility***\n"); Approver larry = new Director(); Approver sam = new VicePresident(); Approver tammy = new President(); larry.SetSuccessor(sam); sam.SetSuccessor(tammy); Purchase p = new Purchase(2034, 350.00, "Assets"); larry.ProcessRequest(p); p = new Purchase(2035, 32590.10, "Project X"); larry.ProcessRequest(p); p = new Purchase(2036, 122100.00, "Project Y"); larry.ProcessRequest(p); Console.WriteLine("\n******Command******\n"); User user = new User(); user.Compute('+', 100); user.Compute('-', 50); user.Compute('*', 10); user.Compute('/', 2); user.Undo(4); user.Redo(3); Console.ReadKey(); }
static void Main(string[] args) { AbstractPlatform _platform = configurationPlatform(); _platform.Paint(); Console.WriteLine("==========================================================================="); Console.WriteLine("================================== Stragery ==============================="); var reports = new List <DeveloperReport> { new DeveloperReport { Id = 1, Name = "Dev1", Level = DeveloperLevel.Senior, HourlyRate = 30.5, WorkingHours = 160 }, new DeveloperReport { Id = 2, Name = "Dev2", Level = DeveloperLevel.Junior, HourlyRate = 20, WorkingHours = 120 }, new DeveloperReport { Id = 3, Name = "Dev3", Level = DeveloperLevel.Senior, HourlyRate = 32.5, WorkingHours = 130 }, new DeveloperReport { Id = 4, Name = "Dev4", Level = DeveloperLevel.Junior, HourlyRate = 24.5, WorkingHours = 140 } }; var calculatorContext = new SalaryCalculator(new JuniorDevSalaryCalculator()); var juniorTotal = calculatorContext.Calculate(reports); Console.WriteLine($"Total amount for junior salaries is: {juniorTotal}"); calculatorContext.SetCalculator(new SeniorDevSalaryCalculator()); var seniorTotal = calculatorContext.Calculate(reports); Console.WriteLine($"Total amount for senior salaries is: {seniorTotal}"); Console.WriteLine($"Total cost for all the salaries is: {juniorTotal + seniorTotal}"); Console.WriteLine("==========================================================================="); Console.WriteLine("================================== IoC ==============================="); BussinessLogic _bussinessLogic = new BussinessLogic(); _bussinessLogic.Task1(); Console.WriteLine("==========================================================================="); Console.WriteLine("================================== Flyweight ==============================="); // The client code usually creates a bunch of pre-populated // flyweights in the initialization stage of the application. var factory = new FlyweightFactory( new Car { Company = "Chevrolet", Model = "Camaro2018", Color = "pink" }, new Car { Company = "Mercedes Benz", Model = "C300", Color = "black" }, new Car { Company = "Mercedes Benz", Model = "C500", Color = "red" }, new Car { Company = "BMW", Model = "M5", Color = "red" }, new Car { Company = "BMW", Model = "X6", Color = "white" } ); factory.listFlyweights(); addCarToPoliceDatabase(factory, new Car { Number = "CL234IR", Owner = "James Doe", Company = "BMW", Model = "M5", Color = "red" }); addCarToPoliceDatabase(factory, new Car { Number = "CL234IR", Owner = "James Doe", Company = "BMW", Model = "X1", Color = "red" }); factory.listFlyweights(); Console.WriteLine("==========================================================================="); Console.WriteLine("================================== Proxy ==============================="); MathProxy _mathProxy = new MathProxy(); Console.Write("Input num1 and num2: "); var x = Convert.ToDouble(Console.ReadLine()); var y = Convert.ToDouble(Console.ReadLine()); Console.WriteLine($"{x} + {y} = {_mathProxy.Add(x, y)}"); Console.WriteLine($"{x} - {y} = {_mathProxy.Sub(x, y)}"); Console.WriteLine($"{x} * {y} = {_mathProxy.Mul(x, y)}"); Console.WriteLine($"{x} / {y} = {_mathProxy.Div(x, y)}"); Console.WriteLine("==========================================================================="); Console.WriteLine("================================== ProxyWithBank ==============================="); Credit _credit = new Credit(); bool Income = false; _credit.Cash(400, ref Income); Income = true; Console.WriteLine($"Income {_credit.Cash(5000000.0, ref Income)} vnd"); Income = false; Console.WriteLine($"Outcome {_credit.Cash(100000.0, ref Income)} vnd"); _credit.CheckAccount(); Console.WriteLine("-------------------------------------------------------------------------------"); Console.WriteLine("----------------------------------- Transfer ----------------------------------"); Console.WriteLine("----------------------------------- Local -------------------------------------"); Income = false; _credit.LocalTransfer(6000000.0, "VND", "01231111441", "8912121231", ref Income); Income = true; Console.WriteLine($" Income local: " + $"{_credit.LocalTransfer(700000.0, "VND", "719273981723", "1125412311", ref Income)}"); _credit.CheckAccount(); Income = false; Console.WriteLine($" Outcome local: " + $"{_credit.LocalTransfer(70000.0, "VND", "719273981723", "1125412311", ref Income)}"); _credit.CheckAccount(); Console.WriteLine("----------------------------------- Overcome ----------------------------------"); Income = true; Console.WriteLine($"Income overcome: " + $"{_credit.OvercomeTransfer(500, "USD", "VND", "113311131", "719273981723", ref Income)} VND"); _credit.CheckAccount(); Income = false; Console.WriteLine($"Outcome overcome TWD: " + $"{_credit.OvercomeTransfer(5000000.0, "VND", "TWD", "719273981723", "115533315441", ref Income)} TWD"); _credit.CheckAccount(); Console.WriteLine("================================ CompositePattern ====================================="); CompositePattern.IEmployee employee_0000 = new Cashier(0, "Thu Tran", 7000000); CompositePattern.IEmployee employee_0001 = new Cashier(1, "Khoi Nguyen", 7000000); CompositePattern.IEmployee employee_0010 = new BankManager(0, "Ning Chang", 9000000); employee_0010.Add(employee_0000); employee_0010.Add(employee_0001); employee_0010.Print(); Console.WriteLine("==========================================================================="); Console.WriteLine("================================== Stragery - Ver2 ==============================="); SortedList _studentRecords = new SortedList(); _studentRecords.Add("Samual"); _studentRecords.Add("Jimmy"); _studentRecords.Add("Sandra"); _studentRecords.Add("Vivek"); _studentRecords.Add("Anna"); Console.WriteLine("------------------------------------------------------------------------------------"); _studentRecords.SetSortStrategy(new QuickSort()); _studentRecords.Sort(); Console.WriteLine("------------------------------------------------------------------------------------"); _studentRecords.SetSortStrategy(new ShellSort()); _studentRecords.Sort(); Console.WriteLine("------------------------------------------------------------------------------------"); _studentRecords.SetSortStrategy(new MergeSort()); _studentRecords.Sort(); Console.WriteLine("==========================================================================="); Console.WriteLine("================================== Decorator ==============================="); Console.WriteLine("-------------------------------------------------------------------------------"); Book _book0000 = new Book("Worley", "Inside ASP.NET", 10); _book0000.Display(); Console.WriteLine("-------------------------------------------------------------------------------"); Video _video0000 = new Video("Winifred Hervey", "Steve Harvey Show", 1, 512); _video0000.Display(); Console.WriteLine("-------------------------------------------------------------------------------"); Borrowable _borrower0000 = new Borrowable(_book0000); _borrower0000.BorrowItem("Khoi Nguyen Tan"); _borrower0000.BorrowItem("Ning Chang"); Borrowable _borrower0001 = new Borrowable(_video0000); _borrower0001.BorrowItem("Thu Tran"); _borrower0001.BorrowItem("Nguyen Lam Bao Ngoc"); _borrower0000.Display(); _borrower0001.Display(); AlertStateContext stateContext = new AlertStateContext(); stateContext.alert(); stateContext.alert(); stateContext.SetState(new Silent()); stateContext.alert(); stateContext.alert(); stateContext.alert(); Console.WriteLine("==========================================================================="); Console.WriteLine("================================== AbstractFactoryVer2 ==============================="); Console.WriteLine("-------------------------------------------------------------------------------"); ///client class AnimalWorld animalWorld = new AnimalWorld(new AmericaFactory()); animalWorld.AnimalEatOthers(); animalWorld = new AnimalWorld(new AfricaFactory()); animalWorld.AnimalEatOthers(); Console.WriteLine("==========================================================================="); Console.WriteLine("================================== Template ==============================="); Console.WriteLine("-------------------------------------------------------------------------------"); Game game = new Cricket(); game.Play(); game = new Football(); game.Play(); DataAccessObject dataAccessObject = new Categories(); dataAccessObject.Run(); dataAccessObject = new Products(); dataAccessObject.Run(); Console.WriteLine("==========================================================================="); Console.WriteLine("================================== Adapter ==============================="); Console.WriteLine("-------------------------------------------------------------------------------"); var xmlConverter = new XmlConverter(); var adapter = new XmlToJsonAdapter(xmlConverter); adapter.ConvertXMLToJson(); Console.WriteLine("==========================================================================="); Console.WriteLine("================================== Template Ver 3 ==============================="); Console.WriteLine("-------------------------------------------------------------------------------"); DAO @object = new Person(); @object.Connect(); @object.GetAll(); @object.Process(); @object.Disconnect(); Console.WriteLine("==========================================================================="); Console.WriteLine("================================== ChainOfReposibility ==============================="); Console.WriteLine("-------------------------------------------------------------------------------"); // Setup Chain of Responsibility Approver larry = new Director(); Approver sam = new VicePresident(); Approver tammy = new President(); larry.SetSuccessor(sam); sam.SetSuccessor(tammy); // Generate and process purchase requests Purchase p = new Purchase(2034, 350.00, "Assets"); larry.ProcessRequest(p); p = new Purchase(2035, 32590.10, "Project X"); larry.ProcessRequest(p); p = new Purchase(2036, 122100.00, "Project Y"); larry.ProcessRequest(p); }
public static void Main( string[] args ) { // Create book and video and display Book book = new Book( "Schnell", "My Home", 10 ); Video video = new Video( "Spielberg", "Schindler's list", 23, 60 ); book.Display(); video.Display(); // Make video borrowable, then borrow and display Console.WriteLine( "\nVideo made borrowable:" ); Borrowable borrowvideo = new Borrowable( video ); borrowvideo.BorrowItem( "Cindy Lopez" ); borrowvideo.BorrowItem( "Samuel King" ); borrowvideo.Display(); }