摘要: UML类图介绍&类的六大关系 官方定义 UML(统一建模语言),是一种用于软件系统分析和设计的语言工具,用于帮助软件开发人员进行思考和记录思路的方式 UML 图形化的语言 基本介绍 UML图:通过不同的图形和符号,来描述软件模型以及各个元素之间的关系 UML图分类 用例图(use case) 静态结 阅读全文
posted @ 2021-02-23 22:53 吕敬瑛 阅读(680) 评论(0) 推荐(0) 编辑
摘要: 设计原则总结 开闭原则:要求对扩展开放,对修改关闭 里氏替换原则:不要破坏继承体系 依赖倒置原则:要求面向接口编程 单一职责原则:实现类职责要单一 接口隔离原则:在设计接口的时候要精简单一 迪米特法则:只与直接的朋友通信 合成复用原则:尽量使用聚合和组合的方式,而不是使用继承 设计原则的核心思想 找 阅读全文
posted @ 2021-02-23 21:58 吕敬瑛 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 开闭原则 官方定义 开闭原则(Open Close Principle)又称为OCP原则,他的官方定义如下 一个软件实体如类,模块和函数都应该对扩展开放,对修改关闭 基本介绍 对扩展开发--提供方 对修改关闭--调用方 注意事项 开闭原则-最基础最重要的设计原则 开闭原则可以提要复用性和可维护性 阅读全文
posted @ 2021-02-22 20:53 吕敬瑛 阅读(85) 评论(0) 推荐(0) 编辑
摘要: 里氏替换原则 聊聊继承 继承优势 提高代码的复用性(每个子类有拥有父类的属性和方法) 提高代码的可扩展性 继承劣势 继承是侵入性的(只要继承,就必须拥有父类的属性和方法) 继承机制很大的增加了耦合性 继承其实是一把双刃剑 基本介绍 里氏替换原则通俗的来讲:子类可以扩展父类的功能,但是子类不能修改父类 阅读全文
posted @ 2021-02-22 20:28 吕敬瑛 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 阻塞IO和非阻塞IO 阻塞方式下读取或者写入函数将一直等待,而非阻塞方式下,读取或写入函数会立即返回一个状态值 指的是用户和内核空间IO操作的方式 堵塞 用户空间通过系统调用和内核空间发送IO操作时,该调用时堵塞的 非堵塞 用户空间通过系统调用和内核空间发送IO操作时,该调用是不堵塞的,直接返回的, 阅读全文
posted @ 2021-01-24 19:19 吕敬瑛 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 同步IO和异步IO ​ 同步和异步是针对应用程序和内核的交互而言的,同步指的是用户进程触发IO操作并等待或者轮询的去查看IO操作是否就绪,而异步指用户进程触发IO操作以后便开始做自己的事情,而当IO操作已经完成的时候会得到IO完成的通知 同步 用户空间要的数据,必须等到内核空间给它才做其他事情 异步 阅读全文
posted @ 2021-01-24 19:04 吕敬瑛 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 高性能,高可用,安全的架构 高性能: RT(reponse time)时间 高可用: 任何时候项目都必须可用 可升缩: 大促,流量瞬间增大…. 可扩展: 开发角度(新需求进行迭代),扩展 安全性: 网络安全,硬件安全,软件安全 敏捷性: 可持续交付,可持续部署 高性能 什么是高性能? 较短的响应时间 阅读全文
posted @ 2021-01-24 18:46 吕敬瑛 阅读(787) 评论(1) 推荐(2) 编辑
摘要: 缓存IO和直接IO 缓存IO:数据从磁盘先通过DMA copy到内核空间,再从内核空间通过cpu copy到用户空间 直接IO:数据从磁盘通过DMA copy到用户空间 缓存IO 缓存IO又被称为标准IO,大多数文件系统的默认IO操作都是缓存IO ​ 在Linux的缓存IO机制中吗,数据先从磁盘复制 阅读全文
posted @ 2021-01-23 18:05 吕敬瑛 阅读(713) 评论(2) 推荐(1) 编辑
摘要: PIO与DMA 有必要简单的说说慢速I/O设备和内存之间的数据传输方式 PIO 我们拿磁盘来说,很早以前,磁盘和内存之间的数据传输是需要CPU控制的,也就是说如果我们读取磁盘文件到内存中,数据要经过CPU存储转发,这种方式称为PIO。显然这种方式非常不合理,需要占用大量的CPU时间来读取文件,造成文 阅读全文
posted @ 2021-01-23 17:22 吕敬瑛 阅读(638) 评论(0) 推荐(0) 编辑
摘要: 官方定义 接口隔离原则(Interface Segregation Principe),又称为ISP原则,官方定义为: 1、Clients should not be forced to depend upon interfaces that they don't use. 客户端不应该依赖它不需要 阅读全文
posted @ 2021-01-23 16:40 吕敬瑛 阅读(297) 评论(1) 推荐(1) 编辑