宋行健-软件工程实验报告:设计模式-行为型模式1

需积分: 0 0 下载量 115 浏览量 更新于2024-08-04 收藏 914KB DOCX 举报
"宋行健的实验报告 - 设计模式 - 实验7行为型模式1" 在本次实验中,宋行健同学深入学习并实践了设计模式中的行为型模式,特别是状态模式。实验围绕《设计模式》这门课程展开,属于2020-2021学年第二学期软件工程专业的课程内容,由学生宋行健完成,实验指导教师为王晓蒙。实验项目名为“实验7行为型模式1”,在2021年4月27日进行。 状态模式是一种用于处理对象行为的模式,它允许对象在内部状态改变时改变其行为,对象看起来好像修改了它的类。在这个实验中,宋行健同学分析并实现了基于状态模式的留言板系统。 1. 系统架构 系统的核心是`MessageBoard`类,它包含了留言板的主要功能,如显示留言、添加留言以及切换登录状态。`MessageBoard`类通过接口`ILoginState`来管理登录状态,这个接口定义了状态控制的规则。系统有两种登录状态:登录(Login)和注销(Logout),分别由`LoginState`和`LogoutState`两个类实现`ILoginState`接口。 2. 类与接口 - `ILoginState`接口:定义了处理登录状态的基本方法,如登录和注销操作。 - `LoginState`类:实现了`ILoginState`接口,处理用户登录后的状态,例如接收和处理用户的留言。 - `LogoutState`类:同样实现了`ILoginState`接口,负责处理用户未登录或注销后的状态。 - `MessageBoard`类:维护了一个`messageList`来存储留言,通过`state`属性(实现了`ILoginState`的实例)来控制不同登录状态下的行为。 3. 运行流程 在实验运行时,用户可以通过输入同意登录(如“y”或“Y”)来进入系统。登录成功后,系统会显示当前的IP地址,并提供留言板界面和操作提示。用户可以输入留言,如“Hello”和“World”,并通过输入“D”来查看留言板内容。实验中还包含了其他操作的测试,展示了状态模式在处理复杂行为变化时的有效性。 实验7行为型模式1的实施展示了状态模式如何在实际问题中提高代码的可读性和可维护性。通过对状态的抽象和封装,使得`MessageBoard`类能够根据不同的登录状态灵活地响应用户操作,而不必在类内部硬编码各种条件分支。这种设计模式的运用体现了面向对象设计原则,增强了软件的灵活性和扩展性。