摘要: 场景引入: 一个类,如果有多个属性时,在创建对象,如何对属性进行赋值呢? 1.通过构造器赋值,这种方案优点时一次性赋值完成,但是多种属性的组合,导致构造器会非常多。 2.通过setter方法赋值,方案优点代码直观简洁,缺点会出现javabean难一致的情况(多线程情况下); 今天,我们学习建造者模式 阅读全文
posted @ 2019-08-22 15:01 留一抹清风 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 场景引入: 小镇的咖啡馆生意越来越好了,但是来自不同地方的顾客也越来越多,有的人喜欢咖啡加糖,有的人喜欢咖啡加牛奶,有的喜欢加炼乳。。。 咖啡伪代码: 每次出一种新品种,都要在if..else if..后添加,违反了对开闭原则的,对修改关闭的原则。 我们可以尝试以下策略模式来解决这个问题。 1.声明 阅读全文
posted @ 2019-08-22 13:56 留一抹清风 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 场景引入 小镇上新凯乐一家咖啡厅,咖啡师的逻辑:烧水 -> 冲咖啡 ->将饮品倒进杯子里 -> 加糖或者牛奶等。 后来,店家发现人们还有一部分热衷于喝茶,这时客串的咖啡师:烧水 -> 泡茶叶 ->将饮品倒进杯子里 -> 加辅料等。 我们可以清晰的发现:烧水、将饮品倒进杯子的实现是一样的,并且操作的顺 阅读全文
posted @ 2019-08-22 10:00 留一抹清风 阅读(148) 评论(0) 推荐(0) 编辑