随笔分类 - 软件编程
摘要:设计模式里有一个“合成/聚合复用原则(CARP)”,尽量使用合成/聚合(Has-A),尽量不要使用类继承(Is-A),即合成/聚合优于集成。集成,我若要有你的功能,我必须是一个你。合成/聚合,我可以承担你的职责,但我还是我。看到这句话,突然想起古语论君子与小人,“君子和而不同,小人同而不和”。和,责任与行为;同,外在表现与类族。继承是一家独断;合成/聚合是百花齐放。继承是祖国山河一片红,人人唱红歌;合成/聚合是个性张扬,但同有一个中国心。继承,应对变化的方式是表象一致,人手一块红布(不管手里的红布与别人一样还是不一样!)。合成/聚合,红心在我心,心映红布(相同的红布总是只有一块;但每个人中意的
阅读全文
摘要:【关键词】 活与死 回调函数 面向对象设计 【活与死】 在面向过程的程序设计里,main函数是活的,函数库等是死的。可以说,所有非main函数的函数,都是直接或间接被main函数调用。 在MFC程序设计里,所有我们写的处理windows消息的函数,都是MFC这座大楼里(整体框架中)已经设计好的执行单元,我们可以客户化它,但我们不知道这些执行单元什么时候、以及怎样被MFC框架调用——假如我们没有足够理解MFC的话。 我们可以说,main函数是活的,MFC框架是活的;非main函数、我们自定义的消息处理函数都是死的。 可以广义化,调用者是活的,被调用者是死的。调用者与被调用者是相对的...
阅读全文

浙公网安备 33010602011771号