【潜意识Java】Java里的计谋模式
目次❤️一、计谋模式是什么
💛二、计谋模式的布局和原理
💚三、计谋模式在 Java 中的代码实现
💙四、计谋模式的上风和应用场景
💙4.1 上风
💜4.2 应用场景
https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9kaXJlY3QvZGExNTRhMmE1ZmIzNDAzZmI4YTM3NjI2NjVkYmZiN2IuZ2lm💚💚💚💚💚
❤️❤️❤️
家人们,本日来聊聊 Java 编程里一个超实用的筹划模式 —— 计谋模式。这但是提升代码质量和机动性的关键,把握它,你的代码就能像变形金刚一样,机动应对各种需求厘革。
❤️❤️❤️
💛一、计谋模式是什么
计谋模式,简单来说,就是界说了一系列算法,把它们一个个封装起来,而且使它们可以相互更换。这就好比你出门选择交通工具,有走路、骑自行车、坐公交车、打车等多种计谋,每种计谋都能让你到达目标地,只是方式和服从差别。在编程里,差别的算法就是差别的计谋,我们可以根据详细的业务场景选择最符合的算法。
https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9kaXJlY3QvNWQzNzJhMWEzNmYxNGMyM2I4MjcyMGZlN2RlYWEwZmMuZ2lm
💙二、计谋模式的布局和原理
计谋模式重要包罗三个脚色:
[*]抽象计谋脚色(Strategy):界说了一个公共接口,全部详细的计谋类都要实现这个接口。这个接口就像是一个 “模板”,规定了详细计谋类必须具备的方法。
[*]详细计谋脚色(ConcreteStrategy):实现了抽象计谋脚色界说的接口,每个详细计谋类对应一种详细的算法实现。好比在盘算商品扣头时,大概有平常会员扣头计谋、VIP 会员扣头计谋等,每个计谋都是一个详细计谋类。
[*]环境脚色(Context):持有一个抽象计谋类的引用,通过这个引用调用详细计谋类的方法。它就像是一个 “指挥官”,决定在什么环境下使用哪种计谋。
💛三、计谋模式在 Java 中的代码实现
下面通过一个简单的示例来看看计谋模式在 Java 中的实现。假设我们有一个电商体系,必要根据差别的会员品级盘算商品的扣头代价。https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9kaXJlY3QvZTQ5YTcwOWM4NGQ0NDAzMGJlNTIwNzc1NjZlOGQ1ODEuZ2lm
起首,界说抽象计谋接口:
// 折扣策略接口
public interface DiscountStrategy {
double calculateDiscount(double originalPrice);
}
然后,实现详细计谋类:
// 普通会员折扣策略
public class NormalMemberDiscountStrategy implements DiscountStrategy {
@Override
public double calculateDiscount(double originalPrice) {
// 普通会员打9折
return originalPrice * 0.9;
}
}
// VIP会员折扣策略
public class VIPMemberDiscountStrategy implements DiscountStrategy {
@Override
public double calculateDiscount(double originalPrice) {
// VIP会员打8折
return originalPrice * 0.8;
}
}
末了,界说环境脚色类:
// 购物车类,持有折扣策略的引用
public class ShoppingCart {
private DiscountStrategy discountStrategy;
public ShoppingCart(DiscountStrategy discountStrategy) {
this.discountStrategy = discountStrategy;
}
public double calculateTotalPrice(double originalPrice) {
return discountStrategy.calculateDiscount(originalPrice);
}
}
使用计谋模式的客户端代码:
public class Client {
public static void main(String[] args) {
// 使用普通会员折扣策略
DiscountStrategy normalStrategy = new NormalMemberDiscountStrategy();
ShoppingCart normalCart = new ShoppingCart(normalStrategy);
double normalTotalPrice = normalCart.calculateTotalPrice(100);
System.out.println("普通会员的总价格: " + normalTotalPrice);
// 使用VIP会员折扣策略
DiscountStrategy vipStrategy = new VIPMemberDiscountStrategy();
ShoppingCart vipCart = new ShoppingCart(vipStrategy);
double vipTotalPrice = vipCart.calculateTotalPrice(100);
System.out.println("VIP会员的总价格: " + vipTotalPrice);
}
}
💜四、计谋模式的上风和应用场景
❤️4.1 上风
[*]可维护性和可扩展性强:当必要添加新的扣头计谋时,只必要新增一个详细计谋类,实现抽象计谋接口即可,不必要修改原有的代码。这就好比你要在交通工具列表里添加一个 “地铁” 计谋,只必要单独实现一个 “坐地铁” 的计谋类,不会影响到其他的出行计谋。
[*]代码复用性高:差别的详细计谋类可以复用抽象计谋接口的方法界说,进步了代码的复用性。好比在盘算扣头代价时,固然详细的扣头算法差别,但都依照 “盘算扣头代价” 这个同一的接口界说。
💙4.2 应用场景
[*]算法多样化场景:在图形绘制中,大概有差别的绘制算法,如直线绘制算法、曲线绘制算法等,可以使用计谋模式来根据差别的需求选择符合的绘制算法。
[*]业务规则频仍厘革场景:在电商体系中,促销运动的规则经常厘革,使用计谋模式可以方便地切换差别的促销计谋,如满减计谋、赠品计谋等。
https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9kaXJlY3QvNzA4YzdmNGU4ODYyNGJmYmEwMWZiMzQ5NDBhNWRhNGIuZ2lm
❤️❤️❤️❤️
家人们,计谋模式在 Java 编程里用处可大了,把握它能让你的代码更优雅、更机动。要是学习过程中有啥题目,咱们随时交换,一起把这门技能吃透!
❤️❤️❤️❤️
https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9kaXJlY3QvYTk2YmJlOTcwOThlNGYzMDk4MzA5MTQ0YWEwYzM1N2EuZ2lm
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]