iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 14
0
自我挑戰組

Pro Design Patterns in Swift5系列 第 14

Day: 14 Chapter 10 TODO

  • 分享至 

  • xImage
  •  
class CarFactory {
    
    required init() {
        // do nothing
    }
    
    func createFloorplan() -> Floorplan {
        fatalError("Not implemented");
    }
    
    func createSuspension() -> Suspension {
        fatalError("Not implemented");
    }
    
    func createDrivetrain() -> Drivetrain {
        fatalError("Not implemented");
    }
    
    final class func getFactory(car:Cars) -> CarFactory? {
        var factoryType:CarFactory.Type;
        switch (car) {
        case .COMPACT:
            factoryType = CompactCarFactory.self;
        case .SPORTS:
            factoryType = SportsCarFactory.self;
        case .SUV:
            factoryType = SUVCarFactory.self;
        }
        var factory = factoryType.sharedInstance;
        if (factory == nil) {
            factory = factoryType();
        }
        return factory;
    }
    
    class var sharedInstance:CarFactory? {
        get {
            return nil;
        }
    }
}

上一篇
Day: 13 Chapter 09 TODO
下一篇
Day: 15 Chapter 11 Builder模式
系列文
Pro Design Patterns in Swift517
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言