单体类的作用在于确保类只有唯一的一个实例,并且为该类提供一个全局的访问点,相于你可以全局访问它,并且它只会被new一次。
1.单体模式的宗旨
单体模式的宗旨在于确保某个类只有唯一的一个实例,并且为该类提供一个全局的访问点。
当我们开发项目时,经常会发现一些类需要只有一个实例,比如:Window Manager,Print Spooler,对数据库引擎的唯一访问点等等。单体模式被GoF归于创建型的模式,但我认为它应归位责任型的模式,因为单体模式的价值在于将一个类的职责集中在唯一的一个单体对象之中。
2.单体模式的实现
单体模式的实现有很多种,每种都有自身的优点和缺点,但是宗旨都是确保单体的唯一。由于static关键字的“天生资质”,注定了它与单体模式的“姻缘”。