要设计一个良好的可扩展的PC客户端架构,基本上是针对比较大型的客户端产品而言,小项目的话,甚至连耦合都不需要了,混在一块都可以开发,针对于大项目上的客户端设计,需要有几个基本需要注意的点:

UI和业务分离,这个主要指的是UI层和数据层,不能耦合在一块,这个看似简单,其实是客户端设计中比较难的一个点,大家可以通过这种方式来验证,就是比如说,你把下沉的sdk移除掉,这个软件如果还能正常打开使用,就说明了你的架构设计已经遵循了这个规则。
插件化,这个指的是,假如一个特别大的软件,你需要和同事协同开发,这个时候,你就需要考虑使用插件化的方式,指的是在你的业务本身和他的耦合性不高的前提下,你可以直接创建自己自身的UI和处理相关业务,但是不影响到他本身业务的方式
可扩展性的使用,这个依赖到插件化,插件化可以有个自己定义好的插件化管理协议,这样子例如设计一套主程序与插件的通信规则,使得主程序可以和任意插件进行正常通信,来实现该功能,达到后面增加功能,只需要增加插件即可

这些属于个人的拙见,有不同的想法 欢迎讨论分享