摘要:
1. 单一职责模式概念:在软件组件的设计中,如果责任划分的不清晰,使用继承得到的结果往往是随着需求的变化,子类急剧膨胀,同时充斥着重复代码,这时候的关键是划清责任。 2. 单一职责模式包含有:装饰模式和桥模式 3.装饰模式(Decorator) 动机:在某些情况下我们可能会“过度地使用继承来扩展对象 阅读全文
2022年3月19日
2022年3月15日
摘要:
1. 组件协作模式通过晚期绑定,来实现框架与应用之间的松耦合,是二者之间协作时常用的模式 2. 包含有:模板方法,策略模式、观察者模式(事件模式) 3.模板方法:(Template Method) 动机:在软件构建过程中,对于某一项任务,它常常有稳定的整体操作结构,但各个子步骤之间却有很多改变的需求 阅读全文
摘要:
1.模式分类 按目的: 创建型模式:将对象的部分创建工作时延时子类或者其他对象,从而应对需求变化为对象创建是具体实现引来的冲击 结构型模式:通过类继承或者对象组合获得更具灵活的结构,从而应对需求变化为对象的结构带来的冲击 行为型模式:通过类继承或者对象组合来划定类与对象之间的职责,从而应对需求变化为 阅读全文
2022年3月5日
2021年12月17日
摘要:
一、网络I/O的阻塞、非阻塞,同步、异步 典型的一次lO的两个阶段是什么?数据就绪和数据读写数据就绪: 根据系统lO操作的就绪状态 ·阻塞·非阻塞 数据读写:根据应用程序和内核的交互方式 ·同步·异步 一个典型的网络IO接口调用,分为两个阶段,分别是"数据就绪"和“数据读写",数据就绪阶段分为阻塞和 阅读全文
2021年12月14日
摘要:
一、UDP通信 服务端代码: /* #include <sys/types.h> #include <sys/socket.h> ssize_t sendto(int sockfd, const void *buf, size_t len, int flags, const struct socka 阅读全文
2021年12月13日
摘要:
一、什么是I/O多路复用 I/O多路复用,I/O就是指的我们网络I/O,多路指多个TCP连接(或多个Channel),复用指复用一个或少量线程。串起来理解就是很多个网络I/O复用一个或少量的线程来处理这些连接。I/O 多路复用使得程序能同时监听多个文件描述符,能够提高程序的性能,Linux 下实现 阅读全文
摘要:
一、多进程实现并发 思路: 1.一个父进程,多个子进程。 2.父进程:负责等待并接受客户端的连接。 3.子进程:完成通信,接受一个客户端连接,就创建一个子进程用于通信。 服务器端: /* 多进程版本 */ #include<stdio.h> #include<arpa/inet.h> #includ 阅读全文
2021年12月11日
摘要:
一、TCP通信 1.1 TCP与UDP 1.2 TCP通信流程 通信的流程 服务器端 (被动接受连接的角色) 1. 创建一个用于监听的套接字 - 监听:监听有客户端的连接 - 套接字:这个套接字其实就是一个文件描述符 2. 将这个监听文件描述符和本地的IP和端口绑定(IP和端口就是服务器的地址信息) 阅读全文