You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@dubbo.apache.org by "ev1lQuark (via GitHub)" <gi...@apache.org> on 2023/06/24 10:50:31 UTC

[GitHub] [dubbo-go] ev1lQuark commented on issue #2343: Proposal for Dubbo-go plugins

ev1lQuark commented on issue #2343:
URL: https://github.com/apache/dubbo-go/issues/2343#issuecomment-1605386161

   Before implementing specific development tasks, I believe we should establish a development plan. Below is a rough outline I have prepared based on recent meeting discussions:
   
   1. Starting with the registry center, Polaris, we will separate the registry center's related interfaces and method declarations from the specific implementations associated with Polaris. The interfaces will be kept in the dubbo-go repository, while the specific implementations will be refactored into the dubbo-go-contrib repository. We will create a sample directory restructuring process for the first specific functional module. In this step, the code content should not be modified, focusing solely on the restructuring of the specific implementation code location.
   2. We will examine the service registration interface and its method declarations, perform lightweight refactoring of the interface definitions, and address any potential legacy issues. This step should comprehensively consider the specific implementations of the interfaces, as they will serve as references for other specific implementations once defined.
   3. We will synchronize the other implementations of the service registration interface, complete the full refactoring of the service registration module, and summarize the refactoring experience.
   4. Following the refactoring process of the service registration module, other modules will undergo refactoring and migration work to achieve a comprehensive refactoring of dubbo-go.
   
   
   
   Objectives:
   
   - For open-source contributors, the organization and structure of the dubbo-go repository code will become more concise and clear. The core functionality implementation will be oriented towards interface programming, while specific implementations will be decoupled into dubbo-go-contrib, improving code readability and maintainability.
   - For users, we will provide more concise, user-friendly, and easily understandable dubbo-go APIs.
   
   
   ---
   
   
   落实到具体的开发工作之前,我认为我们应该确定一个开发计划,下面是我结合最近的会议内容整理出的大致方案:
   
   1. 以注册中心 Polaris 为起点,将注册中心相关接口和方法声明与 Polaris 相关的具体实现相分离,接口保留在 dubbo-go 仓库内,具体实现重构到 dubbo-go-contrib 仓库中,创建第一个具体的功能模块目录重构的过程示例。本步骤原则上不应该修改代码内容,仅是具体实现代码位置的重构。
   2. 对于服务注册接口及接口的方法声明进行检查,对于接口定义进行轻量级重构,以及修复可能存在的遗留问题。该步骤应全面结合接口的各个具体实现,一旦定义好之后将被其他具体实现的参考。
   3. 同步服务注册接口的其他实现,完成服务注册模块的完整重构,并总结重构经验。
   4. 其他各模块根据服务注册模块的重构流程进行重构迁移工作,完成 dubbo-go 的全面重构。
   
   
   目标:
   - 对于开源贡献者,dubbo-go 仓库代码的组织和结构将更加简洁清晰,内核侧功能实现均面向接口编程,具体实现解耦到 dubbo-go-contrib 中,提高代码可读性和可维护性。
   - 对于用户,将会提供更加简洁友好、易于理解的 dubbo-go APIs。
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org