文档章节

谈系统骨架的建立——公司第四次交流会内容

IT周见智
 IT周见智
发布于 2015/06/05 17:18
字数 891
阅读 13
收藏 0

目录

宏观上的“系统架构”

  • 系统主要功能(需求分析)
  • 确定系统最终使用场合
  • 系统划分模块
  • 各模块间怎样协作
  • 每个模块技术模式(C/S(或单机)、B/S、移动app)
  • 每个模块采用什么技术开发
  • 出系统架构图、相关文档
  • 系统框架搭建(编码)、项目组成员培训(指导)
系统架构图(举例:微信)
 
微观上的“系统设计”
  • 系统运行的持续性(动力)
  • 系统处理数据的重复性
  • 系统的可扩展性(=>框架)
  • 系统的容错性
  • 系统的通用性(=>框架)
生产者-消费者模式 设计图(举例)
宏观架构与微观设计的区别

前者:

  • 站得高看得远,将重点放在整个系统组成上。几乎不涉及到“编码”;
  • 架构者需要熟悉各种技术,了解各种技术优劣以及适用场合;
  • 架构者需要丰富的项目经验。

后者:

  • 注重代码实现,侧重系统内部实现原理;
  • 设计者需要丰富的编码经验;
  • 设计者与if/else/while等打交道。
孰轻孰重?
三种线程
泵的作用
代码中泵的作用
常见泵结构(1)——Windows消息处理(部分)
 
常见泵结构(二)——Windows消息(完整)
常见泵结构(三)——Socket数据接收
常见泵结构(四)——Web Server(同步)
常见泵结构(五)——Web Server(异步)
串行处理数据的泵
并行处理数据的泵
“泵”对系统的意义
什么是框架?

当你为了解决某个具体问题而设计一个系统时,如果做到了:

  • 通用性好。不过分依赖其他模块,不限制处理特定业务;
  • 容错性高。内部包含一套专门异常处理机制;
  • 扩展性强。方便增加新的功能;
  • 提供一套专门类库。

这时候,就可以把该系统当作一个框架。它可以用来处理某一类问题。

框架的特点
  • 动力性
  • 持续性
  • 通用性强
  • 可扩展性高
  • 容错性好

理论上,任何一个框架不做任何改变,直接编译即可运行。

框架的作用(一)

框架的作用(二)

“机场资源调度模拟仿真系统”设计草图

几个问题

  • 整个系统怎样维持一个“持续运转“的状态?
  • 服务端怎样能够持续处理客户端的输入?
  • 怎样维持地图中各元素的状态?
  • 系统时间怎样统一?
  • 怎样维护训练脚本状态?
问题答案(一)
问题答案(二)
微观上看“机场系统”
PTT下载
 
(以上内容为公司第四次交流会内容)

© 著作权归作者所有

IT周见智

IT周见智

粉丝 10
博文 61
码字总数 185891
作品 0
西青
私信 提问
diss范式:明星AI公司秋招被爆大规模毁约;CEO戴文渊:责任在我有错认罚

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yH0VLDe8VG8ep9VGe/article/details/83451364 郭一璞 发自 凹非寺 量子位 报道 | 公众号 QbitAI 昨晚,周五2...

量子位
2018/10/27
0
0
Unity插件 - MeshEditor(七)变形动画骨骼及蒙皮

MeshAnimation在物体的顶点比较多的情况下,悲剧是显而可见的,我一个一个的点选顶点肯定得累死,而且对于形态的调控不是很方便,应该说是很麻烦,要知道,骨骼动画因为有了骨骼以及蒙皮信息...

qq992817263
2016/09/22
0
0
2017 年终总结 —— 在路上

原文链接 不久前年会主题征集活动中,我提交的主题是《在路上》,和骑手们一样,我们亦不是在路上呢? 恰逢踏入社会一年之际写下第一篇年终总结,百感交集,有初融入团队的喜悦、有独自完成需...

牧云云
2017/12/31
0
0
言谈霓虹:广东日立创新交流会体验记

  12月1日,应邀参加了日立在广州举办的广东-日立创新交流会,虽然只有短短的一天,但是内容丰富的会议议题和让人眼花缭乱。   12月1日,应邀参加了日立在广州举办的广东-日立创新交流会...

镁客网
2017/12/27
0
0
管理的误区(3):人人都须被同等对待

本文由伯乐在线 -豆巴陆其明 翻译。未经许可,禁止转载! 英文出处: Johanna Rothman。欢迎加入 翻译组。 最离谱的管理神话里有这么一条,“我必须同等对待所有人。”在组织内部,我们有职业...

伯乐在线
2015/01/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

rime设置为默认简体

转载 https://github.com/ModerRAS/ModerRAS.github.io/blob/master/_posts/2018-11-07-rime%E8%AE%BE%E7%BD%AE%E4%B8%BA%E9%BB%98%E8%AE%A4%E7%AE%80%E4%BD%93.md 写在开始 我的Arch Linux上......

zhenruyan
今天
5
0
简述TCP的流量控制与拥塞控制

1. TCP流量控制 流量控制就是让发送方的发送速率不要太快,要让接收方来的及接收。 原理是通过确认报文中窗口字段来控制发送方的发送速率,发送方的发送窗口大小不能超过接收方给出窗口大小。...

鏡花水月
今天
10
0
OSChina 周日乱弹 —— 别问,问就是没空

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @tom_tdhzz :#今日歌曲推荐# 分享容祖儿/彭羚的单曲《心淡》: 《心淡》- 容祖儿/彭羚 手机党少年们想听歌,请使劲儿戳(这里) @wqp0010 :周...

小小编辑
今天
1K
11
golang微服务框架go-micro 入门笔记2.1 micro工具之micro api

micro api micro 功能非常强大,本文将详细阐述micro api 命令行的功能 重要的事情说3次 本文全部代码https://idea.techidea8.com/open/idea.shtml?id=6 本文全部代码https://idea.techidea8....

非正式解决方案
今天
5
0
Spring Context 你真的懂了吗

今天介绍一下大家常见的一个单词 context 应该怎么去理解,正确的理解它有助于我们学习 spring 以及计算机系统中的其他知识。 1. context 是什么 我们经常在编程中见到 context 这个单词,当...

Java知其所以然
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部