单件模式确保一个类只有一个实例,并提供一个全局访问点。
在swift中的做法是 private init() 然后提供一个 static 的实例
单间模式运用在不需要反复创建实例的类上,这个类被广泛调用但无需生成多个实例。一些独一份的资源也应该使用单件模式,防止多线程操作出现错误
一个画板当中
笔刷当中的pencil类
pencil如果不是单间模式,在获取颜色和笔刷宽度的更改时会很麻烦:
brush继承了对画板进行操作的protocol
其子类都该实现该protocol的不同操作方法
在选择工具时实际是选择不同的实现操作的protocol 这样不便于直接获取和修改pencil的属性,且会增加耦合度。单间的pencil保证了易于获得和修改pencil的属性,且pencil在画板中就只需要一个实例即可