课程内容概要
处理流程设计
主要记高亮标识部分
软件架构设计
架构设计主要位于需求分析和软件设计之间
管道过滤器:参考代码实现的vue的过滤器,过滤器的输出可以作为其他过滤器的输入,依次进行。
黑板系统:语音处理,信号处理。
以语音数据为例子,不停地进行数据转化,然后擦掉已经不用的数据。声音数据转化成文字数据,再转化成语音数据
结构化设计
概要设计:拆分系统,抽象成模块,管模块间的交互与衔接。主要思想是抽象化….模块独立
详细设计:单个模块的内部设计
扇入,扇出分别指模块的入度和出度(以树结构举例)
单入口,单出口分别指模块的调用入口和结果出口
面向对象设计
基本过程
用例建模、分析建模
设计原则
子类可以替换父类:子类拥有父类的所有职能,这种时候可以子类代替父类。但是有的时候会打破这一原则,比如子类做了方法的重写,因此不推荐重写父类方法,或者重写保证入参有更宽松的入口范文且函数输出有更狭窄的输出范围(即不影响父类的方法,子类的实现是父类功能的一个超集)。
AB
设计模式
更详细的见:https://www.runoob.com/design-pattern/design-pattern-tutorial.html
惯用法与设计模式的差异在于和程序设计语言相关
创建型模式
抽象工厂模式何时使用:系统的产品有多于一个的产品族,而系统只消费其中某一族的产品。
结构型模式
适配器模式是结构型模式的始祖。
享元模式类似活字印刷
行为型模式
中介者和代理的差异类似交换机和路由器的关系。
备忘录模式的速记关键字是 游戏存档
观察者模式又称为 观察-订阅模式
A(装饰模式本质上是希望一个功能可以不断补充)
B
AB
ABB
人机界面设计
A
Web应用设计
负载均衡
session存入客户端或者session存入一台专门的服务器
DNS:域名解析来负载均衡,比如通过DNS区分国内国外的流量进行分流
NAT:通过建立ip地址和端口号的映射进行
DNS和NAT的方式无法用动态算法进行负载均衡,如果要动态的话一般通过软件如Nginx进行处理
数据库读写分离化
主从库,读写分离:一个主库,多个从库。主库负责写,从库负责读,主库写入后通过某种机制同步到从库中。
我们平时的项目比较出名的还有Redis
CDN
CDN > 国家骨干网 > 普通网络线路
XML和JSON
web应用服务器
缓存技术
REST
响应式web设计
本文链接: http://www.ionluo.cn/blog/posts/9629492a.html
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!