外观模式

外观模式:为系统中的一组接口提供一个统一的接口。外观定义一个高层的接口,让子系统更易于使用。

外观的使用场景

  1. 子系统正逐渐变的复杂。应用模式的过程中演化出许多类。可以使用外观为这些子系统类提供一个较简单的接口。
  2. 可以使用外观对子系统进行分层。每个子系统级别有一个外观作为入口点。让它们通过其外观进行通信,可以简化它们的依赖关系。
enum Eternal {

    static func set(_ object: Any, forKey defaultName: String) {
        let defaults: UserDefaults = UserDefaults.standard
        defaults.set(object, forKey:defaultName)
        defaults.synchronize()
    }

    static func object(forKey key: String) -> AnyObject! {
        let defaults: UserDefaults = UserDefaults.standard
        return defaults.object(forKey: key) as AnyObject!
    }

}
/*:
### Usage
*/
Eternal.set("Disconnect me. I’d rather be nothing", forKey:"Bishop")
Eternal.object(forKey: "Bishop")

你可能感兴趣的:(外观模式)