• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
戈瑾
博客园    首页    新随笔    联系   管理    订阅  订阅

随笔分类 -  设计模式

1 2 3 下一页
C++读取txt中文乱码

摘要:遇到问题: 今天再用C++完成迭代器模式使,读取txt文件内容存入vector容器后,打印出来的中文变成了乱码 student.txt文件: 运行结果: 问题解决: 将文件用记事本打开,文件——另存为,将编码方式改为即可“ANSI"即可。 结果: 阅读全文
posted @ 2021-12-05 20:52 戈瑾 阅读(617) 评论(0) 推荐(0)
访问者模式——C++实现

摘要:问题描述: 在我们课堂上的“购物车”的例子中,增加一个新的访问者:打包员,负责对购物车中货物装包。 C++源代码: #include<iostream> #include <list> using namespace std; class Apple; class Book; //抽象访问者 cla 阅读全文
posted @ 2021-12-04 17:28 戈瑾 阅读(64) 评论(0) 推荐(0)
访问者模式——java实现

摘要:问题描述: 在我们课堂上的“购物车”的例子中,增加一个新的访问者:打包员,负责对购物车中货物装包。 Java源代码: //Product.java package shiyan25; public interface Product { void accept(Visitor visitor); } 阅读全文
posted @ 2021-12-03 11:15 戈瑾 阅读(63) 评论(0) 推荐(0)
模板方法模式——C++实现

摘要:问题描述: 对数据库的操作一般包括连接、打开、使用、关闭等步骤,在数据库操作模板类中我们定义了connDB()、openDB()、useDB()、closeDB()四个方法分别对应这四个步骤。对于不同类型的数据库(如SQL Server和Oracle),其操作步骤都一致,只是连接数据库connDB( 阅读全文
posted @ 2021-12-02 23:57 戈瑾 阅读(63) 评论(0) 推荐(0)
模板方法模式——java实现

摘要:问题描述: 对数据库的操作一般包括连接、打开、使用、关闭等步骤,在数据库操作模板类中我们定义了connDB()、openDB()、useDB()、closeDB()四个方法分别对应这四个步骤。对于不同类型的数据库(如SQL Server和Oracle),其操作步骤都一致,只是连接数据库connDB( 阅读全文
posted @ 2021-12-01 10:30 戈瑾 阅读(117) 评论(0) 推荐(0)
策略模式——C++实现

摘要:问题描述: 旅游的出行方式有乘坐飞机旅行、乘火车旅行和自行车游,不同的旅游方式有不同的实现过程,客户可以根据自己的需要选择一种合适的旅行方式。 类图: C++源代码: #include<iostream> using namespace std; //抽象策略类 class TravelStrate 阅读全文
posted @ 2021-11-25 00:57 戈瑾 阅读(65) 评论(0) 推荐(0)
策略模式——java实现

摘要:问题描述: 旅游的出行方式有乘坐飞机旅行、乘火车旅行和自行车游,不同的旅游方式有不同的实现过程,客户可以根据自己的需要选择一种合适的旅行方式。 类图: Java源代码: //Person.java package shiyan23; /** * @Description:客户(环境类) * @aut 阅读全文
posted @ 2021-11-24 19:37 戈瑾 阅读(78) 评论(0) 推荐(0)
状态模式——C++实现

摘要:问题描述: 模拟实现课堂上的“银行账户”的实例,要求编写客户端测试代码模拟用户存款和取款,注意账户对象状态和行为的变化。 C++源代码: #include<iostream> #include<string> using namespace std; class Account; //环境类 cla 阅读全文
posted @ 2021-11-23 22:53 戈瑾 阅读(65) 评论(0) 推荐(0)
状态模式——java实现

摘要:问题描述: 模拟实现课堂上的“银行账户”的实例,要求编写客户端测试代码模拟用户存款和取款,注意账户对象状态和行为的变化。 Java源代码: 1 //Account.java 2 package shiyan22; 3 /** 4 * @Description:环境类 5 * @author 张紫诺 阅读全文
posted @ 2021-11-22 23:39 戈瑾 阅读(91) 评论(0) 推荐(0)
观察者模式——C++实现

摘要:问题描述: 当股票的价格上涨或下降5%时,会通知持有该股票的股民,当股民听到价格上涨的消息时会买股票,当价格下降时会大哭一场。 类图: C++源代码: #include<iostream> #include<list> #include<string> using namespace std; // 阅读全文
posted @ 2021-11-21 23:05 戈瑾 阅读(59) 评论(0) 推荐(0)
观察者模式——java实现

摘要:问题描述: 当股票的价格上涨或下降5%时,会通知持有该股票的股民,当股民听到价格上涨的消息时会买股票,当价格下降时会大哭一场。 类图: Java源代码: 1 //Observer.java 2 package shiyan21; 3 4 public interface Observer { 5 p 阅读全文
posted @ 2021-11-20 22:52 戈瑾 阅读(153) 评论(0) 推荐(0)
备忘录模式——C++实现

摘要:问题描述: 改进课堂上的“用户信息操作撤销”实例,使得系统可以实现多次撤销(可以使用HashMap、ArrayList等集合数据结构实现)。 C++代码: #include<iostream> #include<string> #include<vector> using namespace std 阅读全文
posted @ 2021-11-15 23:46 戈瑾 阅读(100) 评论(0) 推荐(0)
备忘录模式——java实现

摘要:问题描述: 改进课堂上的“用户信息操作撤销”实例,使得系统可以实现多次撤销(可以使用HashMap、ArrayList等集合数据结构实现)。 java代码: //Caretaker.java package shiyan20; public class Caretaker { private Mem 阅读全文
posted @ 2021-11-14 06:41 戈瑾 阅读(109) 评论(0) 推荐(0)
中介者模式——C++实现

摘要:问题描述: 在“虚拟聊天室”实例中增加一个新的具体聊天室类和一个新的具体会员类,要求如下: 1. 新的具体聊天室中发送的图片大小不得超过20M。 2. 新的具体聊天室中发送的文字长度不得超过100个字符。 3. 新的具体会员类可以发送图片信息和文本信息。 4. 新的具体会员类在发送文本信息时,可以在 阅读全文
posted @ 2021-11-12 18:36 戈瑾 阅读(77) 评论(0) 推荐(0)
中介者模式——java实现

摘要:问题描述: 在“虚拟聊天室”实例中增加一个新的具体聊天室类和一个新的具体会员类,要求如下: 1. 新的具体聊天室中发送的图片大小不得超过20M。 2. 新的具体聊天室中发送的文字长度不得超过100个字符。 3. 新的具体会员类可以发送图片信息和文本信息。 4. 新的具体会员类在发送文本信息时,可以在 阅读全文
posted @ 2021-11-11 18:46 戈瑾 阅读(150) 评论(0) 推荐(0)
迭代器模式——C++实现

摘要:问题描述: 信1305班共44名同学,每名同学都有姓名,学号和年龄等属性,分别使用JAVA内置迭代器和C++中标准模板库(STL)实现对同学信息的遍历,要求按照学号从小到大和从大到小两种次序输出学生信息。 C++代码: #include <string> #include <vector> #inc 阅读全文
posted @ 2021-11-09 09:38 戈瑾 阅读(90) 评论(0) 推荐(0)
迭代器模式——java实现

摘要:问题描述: 信1305班共44名同学,每名同学都有姓名,学号和年龄等属性,分别使用JAVA内置迭代器和C++中标准模板库(STL)实现对同学信息的遍历,要求按照学号从小到大和从大到小两种次序输出学生信息。 JAVA和C++中常见的迭代器 List接口: List是有序的Collection,使用此接 阅读全文
posted @ 2021-11-07 09:30 戈瑾 阅读(175) 评论(0) 推荐(0)
命令模式——C++实现

摘要:问题描述: 某系统需要提供一个命令集合(注:可以使用链表,栈等集合对象实现),用于存储一系列命令对象,并通过该命令集合实现多次undo()和redo()操作,可以使用加法运算来模拟实现。 类图: C++代码: #include<iostream> #include<vector> #include< 阅读全文
posted @ 2021-11-05 09:00 戈瑾 阅读(245) 评论(0) 推荐(0)
命令模式——java实现

摘要:问题描述: 某系统需要提供一个命令集合(注:可以使用链表,栈等集合对象实现),用于存储一系列命令对象,并通过该命令集合实现多次undo()和redo()操作,可以使用加法运算来模拟实现。 类图: java代码: 1 //Invoker.java 2 package shiyan16; 3 4 pub 阅读全文
posted @ 2021-11-03 08:55 戈瑾 阅读(80) 评论(0) 推荐(0)
职责链模式——java实现

摘要:问题描述: 某物资管理系统中物资采购需要分级审批,主任可以审批1万元及以下的采购单,部门经理可以审批5万元及以下的采购单,副总经理可以审批10万元及以下的采购单,总经理可以审批20万元及以下的采购单,20万元以上的采购单需要开职工大会确定。现用职责链模式设计该系统。 类图: java代码: //Or 阅读全文
posted @ 2021-11-02 13:41 戈瑾 阅读(181) 评论(0) 推荐(0)

1 2 3 下一页
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3