Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- namespace WzorceProjektowe
- {
- // Abstract Factory
- public interface IFigura
- {
- }
- public class Kwadrat : IFigura
- {
- }
- public class Trojkat : IFigura
- {
- }
- abstract class FabrykaFigur : IFigura
- {
- public abstract IFigura StworzFigure();
- }
- class FabrykaKwadratow : FabrykaFigur
- {
- public override IFigura StworzFigure()
- {
- return new Kwadrat();
- }
- }
- class FabrykaTrojkotow : FabrykaFigur
- {
- public override IFigura StworzFigure()
- {
- return new Trojkat();
- }
- }
- // Fasada
- public interface IDziałania
- {
- void DeltaDodatnia(double a, double b, double c);
- void DeltaRownaZero(double a, double b, double c);
- void DeltaUjemna(double a, double b, double c);
- }
- public class Działania : IDziałania
- {
- public void DeltaDodatnia(double a, double b, double c)
- {
- double delta = b * b - 4.0 * a * c;
- Console.WriteLine("Pierwszy pierwiastek: {0}", (-b - delta) / (2 * a));
- Console.WriteLine("Drugi pierwiastek: {0}", (-b + delta) / (2 * a));
- }
- public void DeltaRownaZero(double a, double b, double c)
- {
- Console.WriteLine("Pierwiastek: {0}", (-b) / (2 * a));
- }
- public void DeltaUjemna(double a, double b, double c)
- {
- Console.WriteLine("Brak pierwiastków wielomianu kwadratowego");
- }
- }
- public class Fasada
- {
- public void ObliczPierWieomianu(double a, double b, double c)
- {
- Działania ob = new Działania();
- double delta = b * b - 4.0 * a * c;
- if (delta > 0)
- {
- ob.DeltaDodatnia(a, b, c);
- }
- else if (delta == 0)
- {
- ob.DeltaRownaZero(a, b, c);
- }
- else
- {
- ob.DeltaUjemna(a, b, c);
- }
- }
- }
- // Budowniczy
- class Klient
- {
- public string Imie { get; set; }
- public string Nazwisko { get; set; }
- public string KodPocztowy { get; set; }
- private double _mojeSaldo;
- public double MojeSaldo { get => _mojeSaldo; set => _mojeSaldo = value; }
- public string Miasto { get; set; }
- public string Ulica { get; set; }
- public int NumerDomu { get; set; }
- public Klient(Builder builder)
- {
- Imie = builder.imie;
- Nazwisko = builder.nazwisko;
- KodPocztowy = builder.kodpocztowy;
- _mojeSaldo = builder.mojeSaldo;
- Miasto = builder.miasto;
- Ulica = builder.ulica;
- NumerDomu = builder.numerdomu;
- }
- public class Builder
- {
- public string imie;
- public string nazwisko;
- public string kodpocztowy;
- public double mojeSaldo;
- public string miasto;
- public string ulica;
- public int numerdomu;
- public Builder Imie(string imie)
- {
- this.imie = imie;
- return this;
- }
- public Builder Nazwisko(string nazwisko)
- {
- this.nazwisko = nazwisko;
- return this;
- }
- public Builder KodPocztowy(string kodpocztowy)
- {
- this.kodpocztowy = kodpocztowy;
- return this;
- }
- public Builder MojeSaldo(double mojeSaldo)
- {
- this.mojeSaldo = mojeSaldo;
- return this;
- }
- public Builder Miasto(string miasto)
- {
- this.miasto = miasto;
- return this;
- }
- public Builder NumerDomu(int numerDomu)
- {
- this.numerdomu = numerDomu;
- return this;
- }
- public Builder Ulica(string ulica)
- {
- this.ulica = ulica;
- return this;
- }
- public Klient build()
- {
- return new Klient(this);
- }
- }
- }
- class Program
- {
- static void Main(string[] args)
- {
- // Fabryka
- FabrykaFigur fabryka = new FabrykaKwadratow();
- IFigura kwadrat = fabryka.StworzFigure();
- // Fasada
- Fasada ob = new Fasada();
- ob.ObliczPierWieomianu(2, 6, 4);
- // Budowniczy
- Klient client = new Klient.Builder()
- .Imie("Slawomir")
- .Nazwisko("Kowalski")
- .KodPocztowy("34 174")
- .MojeSaldo(456.32)
- .NumerDomu(23)
- .Miasto("Cambridge")
- .Ulica("botolph lane")
- .build();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement