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

提个建议,希望能把各个增强功能以插件形式添加 #1230

Closed
ohsorry opened this issue Jul 11, 2017 · 6 comments
Closed

提个建议,希望能把各个增强功能以插件形式添加 #1230

ohsorry opened this issue Jul 11, 2017 · 6 comments

Comments

@ohsorry
Copy link

ohsorry commented Jul 11, 2017

主体提供一个核心功能的精简版。其他像热键、负载均衡、局域网连接、自动速度测试和检查、自动采集等等都以插件形式开发,功能可以diy。我想多了吗?

@celeron533
Copy link
Contributor

其实很早就有人提过这个设想,不过实施起来动静较大。。。

@Hope6537
Copy link

何必呢,这么搞下来ROI太低了

@wongsyrone
Copy link
Contributor

放到项目中的都应该是和本意紧密相关的功能,其他的不应该添加。

@ohsorry
Copy link
Author

ohsorry commented Jul 12, 2017

嗯,动静是不小。可能是我感觉代码组织的有点不习惯。现在是mvc?
像这种工具性客户端程序我一般就按功能拆分代码,简单易读。也不是什么用例巨多的管理系统搞个DDD之类的架构。有的功能一个静态类就够了,以后可能会改动的功能可以抽象一下。用最少代码完成所有功能。UI可以命令行或win32。UI上只是跟UI和交互相关的很少的代码。

总之最后的感觉是各个独立的模块和类各司其职,松散地组织在一起,协作完成整体功能。读起来也容易些。

我可能会这样组织代码:

  • infrastructure
    ...
  • core
    socks
    encryption
    server类定义
    不是核心可以挪出去
    ..
  • thirdparty
    sysproxy
    QRCode
    ...
  • ui
    wpf或winform
    I18n

@ohsorry
Copy link
Author

ohsorry commented Jul 12, 2017

读了下除了view部分的代码,这代码写的真是酸爽啊,基本上好像和面向对象没有什么关系。汗。
贡献两个可以我认为可以重构的点:
sysproxy可以应该改成导出类库吧?interop调用;socks转http(s)也有封装好的c#代码,代码很少,可以不用priovxy。那就不用再开进程了。

@celeron533
Copy link
Contributor

读了下除了view部分的代码,这代码写的真是酸爽

毕竟这个最早是 clowwindy 自己写着玩的工具,后来加上的功能越来越多。。。

@ohsorry ohsorry closed this as completed Apr 6, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants