예제 #1
0
 public void BuildHouse(IHouseBuilder builder)
 {
     builder.BuildBackyard();
     builder.BuildDoors();
     builder.BuildSwimmingPool();
     builder.BuildWalls();
 }
예제 #2
0
        public override House makeHouse(string typeOfHouse)
        {
            House         myHouse   = null;
            IHouseBuilder myBuilder = null;

            if (typeOfHouse.Equals("Resident"))
            {
                myBuilder = new ResidentBuilder();
                myHouse   = new Resident(myBuilder);
                myHouse.setName("Resident House");
            }
            else if (typeOfHouse.Equals("Office"))
            {
                myBuilder = new OfficeBuilder();
                myHouse   = new Office(myBuilder);
                myHouse.setName("Office");
            }
            else if (typeOfHouse.Equals("Shop"))
            {
                myBuilder = new ShopBuilder();
                myHouse   = new Shop(myBuilder);
                myHouse.setName("Shop");
            }
            return(myHouse);
        }
예제 #3
0
 public void BuildHouse(IHouseBuilder builder)
 {
     builder.BuildWalls();
     builder.BuildRoof();
     builder.BuildDoors();
     //more or less building steps can be added, and the step order can be changed as well
 }
예제 #4
0
        public void BuildStandardHouse(IHouseBuilder houseBuilder, bool withGarage)
        {
            houseBuilder.BuildFacade();
            houseBuilder.BuildWalls();
            houseBuilder.BuildWindows();
            houseBuilder.BuildFence();

            if (withGarage)
            {
                houseBuilder.BuildGarage();
            }
        }
예제 #5
0
        public BuilderManager(IHouseBuilder houseBuilder)
        {
            if (houseBuilder == null)
            {
                throw new ArgumentNullException(nameof(houseBuilder));
            }

            House = houseBuilder
                    .BuildWalls(4)
                    .BuildRoof(RoofType.Type3)
                    .BuildWindows(12)
                    .BuildDoors(5)
                    .Build();
        }
예제 #6
0
        static void Main(string[] args)
        {
            Console.WriteLine("Please select the type of house you want to build(S - Small house, M - Mansion, P - Palace)");
            var inputCharacter = Convert.ToChar(Console.Read());

            IHouseBuilder builder = BuildHouse(inputCharacter);

            builder.CreateHouse();
            builder.CreateFoundation();
            builder.CreateWalls();
            builder.CreateRooms();
            builder.CreateRoof();
            var builtHouse = builder.GetHouse();

            PrintBuiltHouseDetails(builtHouse);
        }
예제 #7
0
 private void GetModernHouse()
 {
     houseBuilder = new ModernHouseBuilder();
     engineer     = new CivilEngineer(houseBuilder);
     engineer.Construct();
 }
예제 #8
0
 public Director(IHouseBuilder builder)
 {
     houseBuilder = builder;
 }
 public AppService()
 {
     IHouseBuilder = new HouseBuilderA();
 }
예제 #10
0
 public Shop(IHouseBuilder aBuilder)
 {
     myBuilder = aBuilder;
     Console.WriteLine("Shop Created");
 }
예제 #11
0
 public CivilEngineer(IHouseBuilder houseBuilder)
 {
     this._houseBuilder = houseBuilder;
 }
예제 #12
0
 public CivilEngineer(IHouseBuilder builder)
 {
     _builder = builder;
 }
 public HouseBuildDirector(IHouseBuilder houseBuilder)
 {
     _houseBuilder = houseBuilder;
 }
예제 #14
0
 public HouseDirector(IHouseBuilder HouseBuilder)
 {
     this._houseBuilder = HouseBuilder;
 }
예제 #15
0
 public Engineer(IHouseBuilder houseBuilder)
 {
     this.houseBuilder = houseBuilder;
 }
예제 #16
0
 public void SetBuilder(IHouseBuilder houseBuilder)
 {
     houseBuilder.Reset();
     _houseBuilder = houseBuilder;
 }
        //public IHouseBuilder Builder
        //{
        //    set { _builder = value; }
        //}

        public HouseOrganizer(IHouseBuilder builder)
        {
            _builder = builder;
        }
예제 #18
0
 public CivilEngineer(IHouseBuilder houseBuilder)
 {
     _housebuilder = houseBuilder;
 }
예제 #19
0
 private void GetIglooHouse()
 {
     houseBuilder = new IglooHouseBuilder();
     engineer     = new CivilEngineer(houseBuilder);
     engineer.Construct();
 }
예제 #20
0
 public Office(IHouseBuilder aBuilder)
 {
     myBuilder=aBuilder;
     Console.WriteLine("Office Created");
 }
예제 #21
0
 public HouseDirector(HouseBuilder builder)
 {
     this.builder = builder;
 }
예제 #22
0
 public House BuildHouse(IHouseBuilder houseBuilder)
 {
     houseBuilder.BuildBackyard();
     houseBuilder.BuildSwimmingPool();
     return(houseBuilder.GetHouse());
 }
예제 #23
0
 public Shop(IHouseBuilder aBuilder)
 {
     myBuilder=aBuilder;
     Console.WriteLine("Shop Created");
 }
예제 #24
0
 public Resident(IHouseBuilder aBuilder)
 {
     myBuilder = aBuilder;
     Console.WriteLine("Resident house Created");
 }
예제 #25
0
 public Office(IHouseBuilder aBuilder)
 {
     myBuilder = aBuilder;
     Console.WriteLine("Office Created");
 }
예제 #26
0
 public void SetBuilder(IHouseBuilder builder)
 {
     HouseBuilder = builder;
 }
예제 #27
0
 public HouseDirector(IHouseBuilder builder)
 {
     _builder = builder;
 }
 public Director(IHouseBuilder houseBuilder)
 {
     this._houseBuilder = houseBuilder;
 }
 public SmallHouseForSaleDirector(IHouseBuilder houseBuilder)
 {
     _houseBuilder = houseBuilder;
 }
예제 #30
0
 public Resident(IHouseBuilder aBuilder)
 {
     myBuilder=aBuilder;
     Console.WriteLine("Resident house Created");
 }