摘要:
序言 今天开始学习23种设计模式的第一个模式——单例模式,以前在网上也看过不少人写的单例模式博文,也算已经吸收了不少。今天看《设计模式之禅》里对设计模式的讲解,作者说的还挺细致的。唯一可惜的是作者用java讲解单例模式,而我自己从去年工作后就用的是C++,本着学什么用什么的原则,我就用C++来记录一下学习成果吧。希望这篇博客能把我学到的分享给跟我一样在园子的读者。 正文1. 单例模式的现实场景 作者开篇用皇帝来类比单例,而我有个更好的例子,且听我一一道来。太阳系中有一个恒星和九大行星,至少我上学的时候是九大行星,后来因为冥王星太小了,被除名了。可是我还是觉得九这个数字比较好,比如九大行星,九. 阅读全文
摘要:
序言 开闭是什么意思呢?显然这是两个词的合体,即开放和闭合的意思。那对什么开放呢?扩展。那有对什么闭合呢?修改。 软件开发最可怕的是什么?是变化。记得以前看过一个笑话,说一个程序员累昏倒了,在医院昏迷了好几天,家人哭的稀里哗啦的,老婆孩子在旁边怎么叫就是不醒。一天他同事来看他,第一句话就是对着躺在病床上的他说:需求又变了。奇迹发生了,那个程序员一下从病床上做起来了。 只是一个笑话而已,但是说明了变化对软件开发过程的影响,有些变化可能要修改逻辑,而有些变化甚至需要修改框架。总之,对于软件开发来说,变化是永恒不变的话题。 设计模式六大原则中的开闭原则是其他五种原则的高度概括,用作者的话来说,是精神 阅读全文