2026 OO课程总结:从代码实现到正向建模的架构演进

钱菀淇-ZC061015 2026-06-20 14:06:50

随着第四单元的结束,2026 年的面向对象设计与构造(OO)课程正式落下帷幕。本单元通过实现一个包含信用分、借阅期限及续订功能的图书馆管理系统,不仅考验了我们的编码能力,更是一次对“正向建模与开发”思想的深度实践。以下是我对第四单元以及整个学期 OO 课程的总结与反思。

一、 正向建模与开发实践:两阶类图的核心作用

在本单元的图书馆系统中,开发模式从以往的“边想边写”彻底转变为“先建模型,后写代码”的正向开发。

在正向建模过程中,两阶类图(概念类图与设计类图)发挥了至关重要的作用:

  1. 第一阶:概念类图(Domain Model)。在动手写代码前,首先通过概念类图梳理业务领域中的核心实体及其关系。例如,明确 User(用户)、Book(图书)、Library(图书馆)和 CreditSystem(信用系统)之间的交互脉络。这一阶段忽略具体的方法和属性,重点在于理清业务边界和逻辑关系

  2. 第二阶:设计类图(Design Model)。在概念类图的基础上,进一步细化类的属性、方法、可见性以及具体的数据结构。到了这一步,类图已经成为了可以直接指导编码的“施工图纸”。

两阶类图的作用在于分步降维:将极度复杂的业务逻辑拆解为“认清事物”和“设计实现”两步,极大地降低了开发初期的认知负载,也避免了后期因架构缺陷导致的大规模重构。

二、 第四单元架构设计与UML追踪关系

在最终的架构设计中,我采用了典型的分层与模块化设计:

  • 核心控制层Library 类作为核心单例,负责接收外部请求并进行分发。

  • 业务处理模块:包括图书借还模块、续订逻辑验证模块以及独立出来的信用分计算模块(解耦了复杂的信用增减逻辑)。

  • 状态机模型:对于核心实体 Book,利用状态机模式管理其在“在架”、“被借出”、“预约中”等状态间的流转。

代码设计与 UML 模型的追踪关系分析: 在开发过程中,我深刻体会到了 UML 建模与最终代码之间的严密映射。代码中的每一个类、字段、方法签名,甚至方法的可见性(如 private, protected),都与设计类图保持高度一致。在进行 UML 与代码一致性检查时,顺序图(Sequence Diagram)上的消息传递,精准对应了代码中对象间的方法调用链。一旦出现编译错误或 CheckStyle 规范问题,往往意味着代码实现偏离了最初的 UML 架构,这种追踪关系强制我们在整个开发生命周期中保持架构的一致性与严谨性。

三、 如何引导大模型在复杂场景中辅助架构设计

在第四单元中,我大量尝试了使用大模型来辅助正向建模和架构探索,这也极大提升了开发效率。总结下来,在复杂场景中引导大模型完成架构设计需要遵循以下几个策略:

  1. 提供清晰的业务上下文与约束:大模型需要明确的边界。在提问时,不仅要给出规格说明,还要明确强调面向对象的设计原则(如单一职责、开闭原则)以及评测的具体约束条件。

  2. 渐进式引导(从骨架到细节):不要指望大模型一次性输出完美的完整代码。正确的引导方式是:先让大模型进行业务逻辑分析,输出核心概念类图;确认无误后,再让其细化特定模块(如信用分计算规则)的 UML 或代码骨架。

  3. 将大模型作为“校验器”而非“全自动打字机”:在定位 UML 一致性检查的 Bug 或排查设计漏洞时,将自己的代码结构图与大模型的重构建议进行对比,找出逻辑断层。大模型的输出必须经过严格的二次校验,确保严密契合具体业务逻辑。

四、 四个单元中架构设计思维的演进

回望四个单元,我的架构设计思维经历了显著的跨越:

  • 第一单元(基础面向对象):思维仍带有较强的面向过程痕迹,对象往往只是数据的载体,架构比较单薄。

  • 第二单元(并发与多线程):在实现电梯调度的 ALS 和 LOOK 策略时,我开始真正理解架构决定了系统的安全性。如何合理设计共享对象、如何加锁、如何避免死锁,让我从单线程思维跃迁到了并发交互架构。

  • 第三单元(契约式编程):基于规格的设计让我认识到了接口和契约的威力。架构设计的重心变成了满足规格说明,保证模块之间的调用严格符合前置和后置条件。

  • 第四单元(正向建模与模型驱动):思维达到了模型驱动的层面。不再急于编写代码,而是先用全局视角绘制 UML,用设计图来推演系统流转,最终代码只是水到渠成的产物。

五、 四个单元中测试思维的演进

与架构演进同步的,是测试思维的成熟:

  • 初期:依赖最原始的 print 打印进行黑盒调试,遇到 Bug 就全盘翻找,效率低下且容易遗漏边界情况。

  • 中期(多线程阶段):由于并发 Bug 的不可复现性,倒逼我引入了系统化的日志分析和状态监控思维,开始针对核心调度策略设计专门的高并发测试用例。

  • 后期(规格与建模阶段):测试思维转向了形式化验证和白盒测试。结合大模型生成的覆盖性测试用例,从单纯的“找 Bug”转变为“验证实现是否偏离了 UML 模型和契约规格”。测试不再是开发后的补救,而是伴随建模的验证环节。

六、 课程收获与总结

2026 年的 OO 课程不仅仅是一次技术的训练,更是一次思维方式的重塑。

在金融科技领域,未来面对的往往是高并发、高复杂度的交易系统或风控系统,OO 课程所教给我的正向建模能力、并发安全意识以及严谨的测试思维,正是构建健壮金融系统的核心素养。

这四个单元的锤炼,让我有底气从一个“能写出可运行代码的程序员”,逐渐成长为一名“能设计出高健壮性系统的工程师”。

...全文
26 回复 打赏 收藏 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
【期刊论文复现】多元宇宙算法求解电力系统多目标优化问题(Matlab实现)内容概要:本文复现了期刊论文中提出的多元宇宙算法(Multi-Verse Optimizer, MVO)用于求解电力系统中的多目标优化调度问题,采用Matlab进行代码实现。该算法受宇宙中黑洞、白洞和虫洞等天文现象启发,通过数学建模模拟多目标搜索过程,具有较强的全局寻优能力和收敛性能。文中将其应用于典型的电力系统经济调度场景,如考虑燃料成本、排放量等多个优化目标的微电网或多能源系统调度问题,通过构建合理的数学模型和约束条件,实现对多个冲突目标的协同优化。同时,文章提供了完整的代码框架与仿真结果,便于读者理解和复现。; 适合人群:具备一定Matlab编程基础和优化算法基础知识的研究生、科研人员及从事电力系统优化调度工作的工程师。; 使用场景及目标:①学习和掌握新型智能优化算法——多元宇宙算法的基本原理与实现方法;②将其应用于电力系统经济调度、微电网优化、多目标决策等领域的模型求解;③为科研工作提供可复现的代码参考和技术支持。; 阅读建议:建议读者结合Matlab代码逐行理解算法实现细节,重点关注目标函数建模、约束处理及MVO算法核心迭代逻辑,并尝试在不同测试系统中进行参数调优与性能对比,以深入掌握其应用技巧。
内容概要:本文针对计及光伏波动性的主动配电网有功无功协调优化问题,提出一种基于多目标粒子群优化算法(MOPSO)的协同优化方案,并通过Matlab代码实现仿真验证。研究充分考虑光伏发电的随机性与间歇性特征,构建了一个综合有功功率调节、无功功率补偿、电压质量提升及网络损耗最小化的多目标优化模型,旨在提升高渗透率光伏接入下主动配电网的运行稳定性与经济性。通过优化算法求解实现有功与无功资源的协调调度,有效缓解因光伏出力波动引起的电压越限与潮流分布不均等问题,增强了系统的调节能力与鲁棒性。; 适合人群:具备电力系统分析基础和Matlab编程能力的科研人员,以及电气工程、自动化等相关专业的研究生和高年级本科生。; 使用场景及目标:①用于研究高比例可再生能源接入背景下主动配电网的优化运行策略;②为电力系统仿真教学与科研提供可复现的算法模型与代码实例,目标是掌握多目标智能优化算法在电力系统优化调度中的建模方法、实现流程及其工程应用价值。; 阅读建议:建议读者结合Matlab代码逐段理解算法实现细节,重点关注目标函数的设计、约束条件的处理方式以及粒子群算法的改进策略,同时可通过调整参数设置、测试不同场景以深入理解优化机制与系统响应特性。

309

社区成员

发帖
与我相关
我的任务
社区描述
2026年北航面向对象设计与构造
java 高校
社区管理员
  • 孙琦航
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧