下面是系统设计,其实呢 只要我们把这个算法
从系统分析的角度把它算算考虑清晰,系统设计反而 是非常简单的,在,其实就是用这个编程的方式把这个
算法呢 给它实现出来就完了,这我们就可以省略掉。
我们重点呢 本身这个系统呢 也不存在控制驱动和数据管理部分,啊,因为不需要永久性地保持数据
和构件部署,啊,这个这方面的一些设计。
啊,这构件部署 有一些,这个问题部分的设计实际上就是把我们这个
刚才的那套算法以及结构呢 用这个C#的方式来进行描述就可以了。
人机交互部分我们重点看一下 这个问题域部分呢 这个我们可以省略掉,啊,往下翻 问题域。
下面我们看人机交互部分,人机交互部分的设计呢 这里我们用的新的技术有
Server light,它它可以实现用户的客户端,实现这种三维这种翻转 三,三个面的这种旋转,啊,这种结构。
我们看一下这个具体的 这个实现方案,这是跟前边一样。
当然它这里边我们用的是什么呢 就像 Server light 它用的是这个另外一种 UI
这个 描述语言,那就是这个描述脚本,也就是 这个XAML
,用这种方式来进行描述,这个 XAML 同样我们也是 用这个什么呢?用这个
server type 来进行这个标注,因为它不是一个类, 这个,当前的这个
XAML ,这是一个对外展示的一个 界面, Server light
的解释界面,它包括一个主界面,然后每一个主界面里面呢 可以对应这个一些按钮,每一个棋子,啊,这个
每个棋盘,啊,这三个棋盘,然后一按钮,等等都可以用 XAML 来
描述这个组合关系,它和整体主界面一个 组合保证关系。
而它们那些这个旋转和这个投影 其实都是有一些这个相应的一些标签来负责它,非常简单。
是吧?一些这个投影,通过投影不同的角度来表示它的一些什么 呢?一些旋转。
啊,所以它这个,这种技术呢 其实是 非常,借助于一种技术可以非常便利实现这种图形的旋转。
另外这个,每一个 XAML ,啊,又通过一个
一种特殊的关联关系,与一个类,啊 C#的一个类呢 相对应。
然后这个,每一个 在这个界面里边的每一些事件,啊,有些事件,事件啊实际上是由与它相对应的那个
C#的类,啊,在那里边进行一些 定义一些函数,进行一些相应。
我在这儿点击一个 在某一个位置点击一点,啊,那这时候呢
它会要在这一点上就是 画上一个,一个这个棋子,这是,这个棋子,这画的这个过程是在
实际上是在与它相对应的那个C#类里边的这个 chess 1 Mouse left
Button up,啊,这个里边来进行定义, 然后呢 这个,注意,这里面有个
chess model,这个 chess model 实际上就是我们在问题部分设计时候很关键
一类,实际上是描述整个的这个,整个这个棋盘啊 它的一些业务逻辑,以及这里边封装一些算法。
所以,这个算法呢 是在这个Inducor 这个类里边,所以这个类呢
实际上这个为什么这样设计呢? 就是使得我们,如果这个发生变化之后,啊,如果我们
进行一个系统迁移,这在云加端,这是在这种这个 移动互联网开发的时候非常普遍,是吧?
当我们的这些这个界面的这些技术发生变化的时候呢 使得我们
这些,一些业务逻辑啊,这些算法是保持稳定,很容易迁移到 这个其它的一些,不同的一些平台上去
啊,这就有时候为什么我们这个进行系统设,进行问题部分设计的一个必要性,这在云加端这种
这种现阶段这种开发方式下非常普遍,啊 这个大概的这是一个人机交互界面部分的一个设计啊 至于这个
Inducor ,啊,这个本身呢 实际上是 下面就是这个,啊,人机对战的这个
整个这个过程,啊,我们这个 用这种 XAML 这种方式来,servlet
来进行实现,是吧? 用户进行点击某一个棋盘,这时候呢它会响应这个事件
响应这个事件之后呢 注意这个,是异步信号,是吧?它涉及到一个
消息,啊,一个事件,实际上说到底是个 Window 消息,它是一种
一种循环的这种方式来实现这个人机值,是吧?它是一种 异步信号。
然后呢 再这个调用这个 chess 1 Mouse left Button
up,啊,这个,这个 函数,这个函数主要的工作就是在当前的这个
点击点来画一个什么呢?画一个按键 到底画黑的还是白的,由传递这个参数来决定
所以这是一个,一个这个过程,是吧?就是它在点击的时候,这人机交互界面如何
这个,在某一个位置点击一个棋盘,一个某个位置,然后在某,它就会这个位置上
计算一个,画出一个黑子或者一个白子,全部就由当前这个 顺序图来进行描述这个业务逻辑,啊。
当然它要是点击呢 还就有一些细节性东西,是吧? 点击的这个位置,它要进行一定的一些模糊运算,是吧?你点击的这个位置
这个它要尽可能地让你,把你这个归类到一个 正确的那一个点上,不能随便点击,放歪了不行,是吧?
啊,然后呢 并且把当前这个棋子呢
加入到当前这个 canvas 中,啊,这样的话它就显示出来了,啊
接下来就是画另外一个,啊,白色的,也是一样 好,最后呢
是这个 部署部分的设计,啊,这构件部署,这个很简单,是吧?就是服务器端,当然这个取决于我-
们的这个 是用这个云加,是用这个手机端还是平板端 还是用浏览器。
如果浏览器端的话,是吧?它实际上呢 是个有个应用服务器,啊,把当前的这个
Web 放到这个应用服务器,啊,然后这个 有这个,一个支持 Server
light 的一个浏览器,主要是IE,啊 浏览器,然后呢 这个,把这个相应的这个逻辑,
Server light这个逻辑 编译之后的这个代码啊
可执行代码呢 通过远程的方式下载到本地 来运行。
啊,当然如果是这个平板的话,它就不存在 这个问题,不存在这种分布式的方式,啊,它直接所有的逻辑都封,封装在这个
平板,或者说手机端了,这样的话就可以实现 下面我给大家演示一下整个这几个这个运行的过程