装饰者模式之我见
摘要:
举个例子: 对于一个蛋糕店,可以有奶油蛋糕、巧克力蛋糕、冰激凌蛋糕、带卡片的巧克力蛋糕、带花的奶油蛋糕等等。 如果我们的设计是以蛋糕为基类,其他都是继承自这个基类,那么会写很多很多类,因为,用户可能想要带卡片的插花的冰激凌蛋糕等等。这样的设计显然不好。对于以上的情况,我们可以用设计者模式。我们以蛋糕为基本食品类,其他的奶油、巧克力、卡片、花等都是装饰品,当用户想要何种装饰,只要往蛋糕上面加装饰品即可。装饰者模式需要基本类和装饰类都实现同一个接口,以保证他们实现同样的方法。因为对于面向对象编程来说,主要是方法,我们用程序来模拟现实世界中的事物,也是以方法的形式。比如,对于蛋糕、奶油和巧克力等.. 阅读全文
posted @ 2012-04-18 22:44 亭子 阅读(175) 评论(0) 推荐(0) 编辑