计算机系统应用教程网站

网站首页 > 技术文章 正文

79、Workerman通信框架目录结构设计

btikc 2024-10-12 11:13:43 技术文章 10 ℃ 0 评论

在上一篇的<workerman原型设计>中,我们尝试了,从自己的角度出发,根据我们的需要,设计了原型图。

那么在本文,如果是我们根据原型图,用代码进行实现。我们该怎么样去规划?

1、确定开发范式

开发范式分面向过程和面向对象两种。

为了更好地去开发与维护,这里选择"面向对象"

2、类设计

根据原型图,有如下的类需要我们去设计:

2.1、面向传输层

传输层有tcp和udp。因此需要设计这两个类,但考虑到类设计规范,引入接口,作为设计的规范

2.2、面向应用层

常见的应用层有http、websocket等等,同时也要考虑自定义应用层协议的需要.因此也引入接口,作为这些类设计的规范

2.3、面向IO复用

目前我们所使用的IO复用方式有select和epoll,而epoll是采用event库进行实现。如php版本低于7,也可以使用libevent.因此也引入接口,作为这些类设计的规范

2.4、核心类与辅助文件

  • 辅助文件

类加载器: 由于是oop实现,因此需要类加载器结合命名空间,进行类文件自动加载

初始化文件: 进行运行环境设置。比如时区、是否打印错误等等

  • 核心类

是整个socket框架的运行根本

3、目录结构设计

结合2、类设计,得到如下图

然后把上图与workerman官方的文件目录结构进行对比。如果两者很"神似",说明我们在设计层面很贴近作者walkor的思路了。相反,我们还得在原型设计和目录设计花点功夫才行

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表