创建型模式一组比赛中我们来对比一下单例模式和原型模式,首先邀请单例小姐和原型小姐上场。在台上我们就听见Fans的呼喊声了,“单例单例,你最美丽,一人穿件,全家获益!”,“给我一个原型,我能创造真个世界!”,呼叫声此起彼伏,声声不断。
究竟他们之间有什么不同的呢?我们来做一下比较。
【单例模式】:跟竹米一生只开一次花一杨,单例模式只实例化一次。
保证一个类仅有一个实例,并提供一个访问它的全局访问点。可以防止实例化多个对象,让类自身负责保存它的唯一实例,其实就是强调骨感就是美。竹米一生只开一次花,开过花之后就会死去。咱们这个单例模式就是只实例化一次,就跟只开一次花一样。如果再想实例化,只能say sorry!
【原型模式】:跟克隆技术一样,可以创造多个对象。
通过拷贝可以创造整个世界,感觉原型模式很强大。实现了了创建多个对象,而我们新创建的时候不需要知道知道任何创建的细节,只需要一个命令就可以得到新的对象。就跟我们复印简历一样,给复印机一个模板,无需知道复印机如何工作的细节,就可以轻松产生几十份简历,这样就省去了大麻烦,同时达到了代码的复用。
总结:对比这两个模式,我们发现虽然都属于创建型模式,但各自又有自己的不同,单例模式只允许实例化一次,更加骨干,而原型模式可以创建多个对象,显得更加丰满。还记得Fans的口号吗?记住口号就能更好的理解模式的含义了。具体只要用到那个模式,还要根据具体情况来分析,我们有很多实践的机会,相信对设计模式认识更深刻。
时间: 2024-10-24 22:12:57