做本地网站赚钱,小型网站有哪些,小程序商城模板免费,wordpress在线解析23种设计模式应用场景汇总 设计模式是一种在软件开发中解决特定问题的通用解决方案。下面我将尝试将23种设计模式融入到一个场景中#xff1a; 假设我们正在开发一个在线购物系统#xff0c;我们可以使用以下设计模式#xff1a; 1. 工厂方法模式#xff1a;当用户在网站上… 23种设计模式应用场景汇总 设计模式是一种在软件开发中解决特定问题的通用解决方案。下面我将尝试将23种设计模式融入到一个场景中 假设我们正在开发一个在线购物系统我们可以使用以下设计模式 1. 工厂方法模式当用户在网站上下订单时我们可以使用工厂方法模式来创建订单对象根据用户选择的商品类型使用不同的工厂来创建相应的订单对象。 分为工厂模式分为简单工厂、工厂方法、抽象工厂。 1、简单工厂通过参数决定创建哪个实例、 2、工厂方法将工厂、产品提出抽象接口、每一种产品对应一个工厂最后根据用户的参数使用不同的工厂创建不同的产品实例。 3、抽象工厂是一个工厂创建一系列产品(比如windos上的GUI组件windows版本的按钮、文本框、选择按钮等是与linux或MacOs下的不同)。产品1(A系列产品1、B系列产品2)产品2(A系统产品2、B系列产品2)工厂(A系列工厂、B系列工厂)A工厂就会创建A系列产品1、A系列产品2B工厂创建B系列产品1、B系列产品2. 2. 单例模式我们可以使用单例模式来确保系统中的购物车对象只有一个实例以确保用户在整个会话期间都使用同一个购物车。 懒汉式和饿汉式。五种最重要的是线程安全。 3. 观察者模式当用户下订单时我们可以使用观察者模式通知库存管理系统和仓库系统更新库存。这样一旦有商品被下单其他系统就会及时得到通知。 观察者模式 4. 策略模式在计算订单总价时我们可以根据用户的会员等级或者促销活动来选择不同的计价策略这就是策略模式的应用。 5. 适配器模式当我们需要将外部支付f接口整合到系统中时我们可能需要使用适配器模式来将外部接口适配成我们系统内部的统一接口。 6. 装饰者模式如果我们需要在订单中加入礼品包装、贺卡等功能可以使用装饰者模式动态地为订单对象添加额外的功能。 7. 命令模式在处理用户的退货请求时我们可以使用命令模式将用户的退货请求封装成命令对象然后由相应的命令对象来执行具体的退货操作。 8. 模板方法模式在生成订单报告时我们可以使用模板方法模式定义生成报告的流程然后在具体的报告生成类中实现具体的步骤 9. 原型模式在系统中有一些商品是定制化的我们可以使用原型模式来克隆商品对象以便快速创建定制化商品的副本。 10. 抽象工厂模式如果我们的系统需要支持多个不同类型的支付方式比如信用卡、支付宝、微信支付等我们可以使用抽象工厂模式来创建不同支付方式的工厂从而实现一个统一的支付接口。 11. 建造者模式当用户在网站上定制礼篮时我们可以使用建造者模式来创建复杂的礼篮对象将其构建过程与表示分离使得构建过程可以创建不同的表示。 12. 状态模式在订单处理流程中订单可能会经历多个状态比如待支付、已支付、已发货、已签收等我们可以使用状态模式来管理订单的状态转换使状态转换更加清晰和可维护。 13. 桥接模式如果我们需要在不同的平台上展示商品信息比如网站、移动端、微信小程序等我们可以使用桥接模式将平台和商品信息的展示进行解耦从而让它们可以独立地变化。 14. 组合模式在管理商品分类树的时候我们可以使用组合模式来表示商品分类和子分类的层次结构以便对整个分类树进行统一的操作。 15. 迭代器模式当需要遍历购物车中的商品列表时我们可以使用迭代器模式来提供一种统一的方式来遍历不同类型的购物车。 16. 访问者模式如果需要对不同类型的商品进行不同的操作比如打印、计算价格等我们可以使用访问者模式来实现对商品的不同操作而不需要修改商品类的代码。 17. 备忘录模式在用户进行购物车操作时我们可以使用备忘录模式来保存购物车的状态以便用户可以在需要时恢复到之前的状态。 18. 解释器模式如果我们需要实现一些复杂的促销规则或者查询条件可以使用解释器模式来定义一个解释器用于解释和执行这些规则或者条件。 19. 中介者模式当订单系统、库存系统和物流系统之间需要进行协作时我们可以使用中介者模式来将它们的交互行为封装到中介者对象中从而降低系统中各个对象之间的耦合度。 20. 外观模式当需要为客户端提供一个统一的接口来访问子系统中的一群接口时可以使用外观模式来简化客户端与子系统之间的交互。 21. 代理模式在系统中我们可以使用代理模式来控制对敏感信息的访问比如用户的个人信息可以通过代理对象来进行访问控制。 22. 责任链模式当系统中需要处理一系列的请求并且每个请求可能由不同的处理者来处理时可以使用责任链模式来实现请求的传递和处理。 23. 享元模式电商系统通常需要管理大量商品每个商品可能有多个属性和规格比如颜色、尺码等而这些属性和规格可能是可以共享的。