2012年4月18日

装饰者模式之我见

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

posted @ 2012-04-18 22:44 亭子 阅读(175) 评论(0) 推荐(0) 编辑

读书笔记——遇到多个构造器时要考虑用Builder

摘要: 1、多个构造器的坏处 好多种参数,特别是参数特别多时,用户调用非常不方便,如果不对照文档,根本不知道哪个参数表示什么含义,对于同类型的参数,如果传参错误,编译时也检查不出来,只有运行时才会发现不对。总之,不方便用户调用。2、利用Java Bean的方式的坏处 对于多个参数,如果让用户调用时能够知道各个参数都是什么含义,可以采用Java Bean的方法,但是这种方式有严重的缺点,就是因为构造过程被分到几个调用中,因此可能处于不一致的状态,因此可能参数错误,而这种错误与包含错误代码大相径庭,调试起来非常困难。3、利用Builder 对于多种参数最好的解决办法就是利用Builder。 例子:... 阅读全文

posted @ 2012-04-18 10:44 亭子 阅读(352) 评论(0) 推荐(0) 编辑

导航