梳理你的思路(从OOP到架构设计)_UML应用:业务内涵的分析抽象&表达03

目录

1、举例(四):五子棋

[【五子棋】 的分析步骤](#【五子棋】 的分析步骤)

[2、讨论: 模型与代码](#2、讨论: 模型与代码)


1、举例(四):五子棋

【五子棋】 的分析步骤

  • Step-1: 找到主角--- 棋手,很容易发现核心的概念了,例如:五子棋游戏的主角是棋手(玩家),棋手有两种------电脑和人;其中,电脑棋手又分为数个不同棋力等级,例如:
  • Step-2: 抽象出抽象类别(Superclass) ---BaseAI:
  • Step-3: 再增添一种棋手---HumanPlayer(人),而且再度进行抽象,得到:
  • Step-4: 再联想到人之外的物------棋盘(ChessBoard),它必须呈现于UI画面上,所以设计成为View的子类别,得到:
  • Step-5: 再从棋盘联想到相关的概念------棋(Chess);以及用来控制UI显示的GobangActivity类别。 如下图。
  • Step-6: 还可以继续联想下去,就更加完整了。

2、讨论: 模型与代码

  • 在传统观点里,大多先绘制UML模型图,然后才开始构思程序码的撰写,使得UML建模成为撰写程序码的前置工作,因此许多程序员将UML建模视为多余的负担。为了节省开发成本,就将省略掉UML建模的工作了。
  • 在新潮的观点里, UML模型与代码是软件系统本体的两个观点(或面向),两者没有先后顺序关系,而是并存和兼具于同一个人的脑海里。这就像两只眼睛看到的景象并存于一个人的脑海里一般,如此才能看到更真实的世界,也能做出更完美的软件系统来。
相关推荐
a里啊里啊2 小时前
软考-软件评测师:知识点整理(七)——软件工程
设计模式·软件工程·软考·uml·结构化开发·软件评测师·软件模型
Warren2Lynch1 天前
[特殊字符]️ 综合指南:结合使用 C4 模型与 UML
uml·c4
Ting.~1 天前
软件设计师备考笔记【day2】-UML 图解 | 面向对象 | 设计模式
笔记·设计模式·uml
清钟沁桐4 天前
编程设计之三 -- UML
uml
choke2334 天前
深度分析系统建模:从UML基础到类图和对象图的实际应用
大数据·软件工程·uml
黄昏回响6 天前
UML与SysML深度解析:从软件工程到系统工程的建模语言进化之路
程序人生·软件工程·uml·改行学it
雪碧聊技术7 天前
UML相关知识点精讲
uml
Warren2Lynch8 天前
Visual Paradigm UML 平台 6 个月深度使用的真实评测
uml
Jump 不二11 天前
AI 绘图 Skill|Markdown 一键出架构图、UML、数据可视化
人工智能·信息可视化·语言模型·uml
Rsun0455113 天前
Java UML类图从入门到实战
uml