![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式练习
文章平均质量分 65
ylxc_tu
这个作者很懒,什么都没留下…
展开
-
【设计模式】C++策略模式
接下来的 N 行,每行输入两个整数,第一个整数M( 0 < M < 400) 表示商品的价格, 第二个整数表示优惠策略,1表示九折优惠策略,2表示满减优惠策略。总之,你的代码实现了策略模式,通过运行时动态选择不同的策略(Discount1 或 Discount2)来实现相同的功能(计算价格)。的成员函数来执行特定的算法,但不直接与具体的算法实现类耦合,从而实现了算法的灵活切换。小明家的超市推出了不同的购物优惠策略,你可以根据自己的需求选择不同的优惠方式。类型的指针,根据不同的情况选择具体的算法。原创 2024-03-31 19:49:25 · 369 阅读 · 1 评论 -
【设计模式】C++工厂模式
简单工厂模式(Simple Factory Pattern)通常包含一个工厂类,该工厂类负责根据客户端的需求创建相应的产品对象。简单工厂模式通常将对象的创建逻辑封装在一个单独的工厂类中。在示例中,积木工厂生产了3块积木,其中有2块是圆形积木,1块是方形积木。小明家有两个工厂,一个用于生产圆形积木,一个用于生产方形积木,请你帮他设计一个积木工厂系统,记录积木生产的信息。此外,简单工厂模式通常只有一个工厂方法,而在你的代码中,因此,你的代码更类似于工厂方法模式的一种简化形式,而不是严格意义上的简单工厂模式。原创 2024-03-30 22:03:48 · 236 阅读 · 1 评论 -
【设计模式】C++单例模式
小明去了一家大型商场,拿到了一个购物车,并开始购物。请你设计一个购物车管理器,记录商品添加到购物车的信息(商品名称和购买数量),并在购买结束后打印出商品清单。(在整个购物过程中,小明只有一个购物车实例存在)。单例模式是一种创建型设计模式,它确保一个类只有一个实例,并提供了全局访问点来访问该实例。输入包含若干行,每行包含两部分信息,分别是商品名称和购买数量。方法使用了静态变量来保存实例,确保了在程序运行期间只有一个实例存在。类在程序中只有一个实例存在,并提供了全局访问点来获取该实例。原创 2024-03-30 22:10:25 · 437 阅读 · 1 评论