Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

We need a start #4

Open
Tarcadia opened this issue Nov 20, 2021 · 1 comment
Open

We need a start #4

Tarcadia opened this issue Nov 20, 2021 · 1 comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed question Further information is requested

Comments

@Tarcadia
Copy link
Member

我们需要一个本项目的需求和开发内容的文档。
目前计划的:

  1. 实现一个TEL类,其提供高级接口,直接配置后实例化一个站体;其负责根据配置实例化Shell类、启动子线程、实现功能;
  2. 实现一个Shell类,其接收Socket连接的传入,接收相关配置,实现对单个用户的连接的管理;
    2.1. 其实例化一个Front类对Socket连接接收到的将发送的信息进行处理;
    2.2. 其实例化一个ResLoad类对系统的后台资源进行管理、加载;
    2.3. 其通过ResLoad实例化Res类实现对页面的处理;
    2.4. 其实例化一个User类(或者实现一组相关功能,或这部分功能)对用户的的操作进行初步响应;
    2.5. 其对以上部分的更新、流的传递负责,并响应用户或资源提出的资源加载令;
  3. 实现一个Front类,用来处理Socket接收到的数据流,其对数据流中的Telnet信令、编码、ESC转义字符拆分进行处理;
  4. 实现一个Res基类,作为页面的基类,其承载页面元素和可能未来考虑引入的动态内容;
  5. 实现一个ResLoad类,作为资源加载的类,其负责将文件系统(或者可能的其他存储形式)中的内容加载为Res类;
  6. 实现一个Elem基类,作为页面元素的基类,其是输入流的最终消费者,通过用户的流更新自己,其也是输出流的最终生产者,通过调用Draw接口产生可绘制的字符串流;
  7. 实现一组Draw接口,作为绘制的基础接口;
  8. 编码一个常数集合,作为Telnet信令符、Esc转义字符等的集合;

图片

@Tarcadia Tarcadia added documentation Improvements or additions to documentation enhancement New feature or request help wanted Extra attention is needed good first issue Good for newcomers question Further information is requested labels Nov 20, 2021
@Tarcadia Tarcadia reopened this Nov 20, 2021
@Tarcadia
Copy link
Member Author

我们将该系统的前级和后级拆分,其中Res、Elem的实现由CLI完成;Front、Shell等的实现由TEL完成;
CLI实现的功能应当可复用到其他的用于命令行界面的环境;
CLI应当除了提供图形化的界面系统实现外,还提供一套的CLI式接口;
TEL应当使用CLI实现一个用于后台管理的系统;

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed question Further information is requested
Projects
None yet
Development

No branches or pull requests

1 participant