设计模式:策略模式
来源:互联网 发布:淘宝商品详情图做法 编辑:程序博客网 时间:2024/06/05 18:36
策略模式是23种设计模式中的对象行为型的设计模式之一。
策略模式架构
策略就是一个对象的行为。
场景
今天发工资啦,去商场购物。
当结账时发现会员卡已经从普通会员到中级会员了。
原本的普通卡9.6 折优惠,现在成为9 折优惠了。
可以想想,这就是一个典型的策略模式,当卡片等级不同,结账的策略可就不同了。
code
public class MainTest{ public static void main (String[] args) { Card card = new Card(); card.checkout = new OrdinaryCardCheckout(); card.checkout(); card.checkout = new MediumCardCheckout(); card.checkout(); }}//会员卡class Card{ //结账策略 public Checkout checkout; //结账 public void checkout(){ checkout.checkout(); }}//结账策略interface Checkout{ void checkout();}//普通卡结账的策略class OrdinaryCardCheckout implements Checkout{ public void checkout(){ System.out.println("普通卡结账"); }}//中等卡结账的策略class MediumCardCheckout implements Checkout{ public void checkout(){ System.out.println("中等卡结账"); }}
当要添加一个新的卡片等级时,只需添加个新的策略,而不用更改原来的代码。这样就把耦合度降到非常低了。
0 0
- 设计模式-策略模式
- 设计模式:策略模式
- 设计模式-策略模式
- 设计模式 - 策略模式
- 设计模式-策略模式
- 设计模式-----策略模式
- 设计模式 策略模式
- 设计模式-策略模式
- 设计模式-【策略模式】
- 设计模式-----策略模式
- 设计模式-策略模式
- 设计模式--策略模式
- 设计模式- 策略模式
- 设计模式- 策略模式
- 设计模式------策略模式
- 设计模式--策略模式
- 设计模式-策略模式
- 设计模式--策略模式
- Androidx学习笔记(48)--- 创建Activity
- centos 中打字的小键盘不见了
- 【慕课笔记】U3 继承 第2节 JAVA中的方法重写
- JAVA WEB学习路线
- UITableViewCell的循环利用 - 在storyboard里
- 设计模式:策略模式
- HDU1242 rescue 【BFS+优先队列】
- Androidx学习笔记(49)--- Activity的跳转
- Codeforces Round #341 (Div. 2)(A)模拟
- hdu3081 Marriage Match II
- sdk不能更新
- 程序员必知的一些快捷键!
- Codeforces Round #341 (Div. 2)(B)数学
- JQury中设置元素滑动(slideUp/slideDown/slideToggle)方法