GO语言工程实践课后作业| 青训营

64 阅读2分钟

HTTP框架修炼之道课程作业(作业1)

作业内容

  1. 为什么HTTP框架做要分层设计?分层设计有哪些优势与劣势。
  2. 现有开源社区HTTP框架有哪些优势与不足。
  3. 中间件还有没有其他实现方式?可以用伪代码说明。
  4. 完成基于前缀路由树的注册与查找功能?可以用伪代码说明。
  5. 路由还有没有其他的实现方式?

作业1

为什么HTTP框架做要分层设计?分层设计有哪些优势与劣势。

答:HTTP框架进行分层设计的主要是为了提高代码的可维护性、可扩展性和可测试性。

分层设计的优势在于:

分层设计可以将不同功能的代码划分到不同的层级中,使得每个层级只关注特定的功能,减少了模块之间的耦合。 由于功能被划分到不同的层级,代码逻辑清晰,并且各层级之间的关系清晰可见。这使得系统更易于理解、维护和调试。 当需要新增功能或引入新的技术时,可以通过在相应层级上进行修改或添加代码,而不会对整个系统造成太大的影响。这样可以更方便地实现系统的功能扩展或升级。 分层设计使得每个层级的功能相对独立,易于进行单元测试和集成测试。

分层设计的劣势在于:

分层设计可能会增加一定的复杂性,因为需要更多的代码和不同层级之间的协调,导致代码量增加,并增加开发和维护的工作量。并且过多的层级嵌套可能会导致性能损失,每个层级都需要进行一些额外的处理和传递数据,这可能会对系统的性能造成一定影响。

所以一个设计很难做到尽善尽美,分层设计在提高可维护性、可扩展性和可测试性的同时,可能会增加一定的复杂性和带来一些性能损失,我们要做的就是在使用时要根据项目的需求和规模选择合适的设计方式,而不是一味的追求“系统性”以及“科学性”,在做一些较小的在校实践项目时,需要以快速完成开发为目标,而在做一些适用范围比较广,对系统有一定要求的项目时,要充分考虑系统的可用性,以及后续的可维护性。