有个类 A,里面有很多方法,可能有互相调用,代码很多,是在是忍不了了,想拆分成多个文件
搜了下,ts 原生好像不支持。网上搜的方法都是要对代码改动比较多。
目前想到一个较少改动的,(只需要 复制-粘贴)
就是把想归集的方法写到一起
依次继承,
最后只要暴露最下面的类  
但是要保证继承顺序,还是有些繁琐,
请问有更好的方式吗?(不改业务代码,或者极少改动)  
a,b,c 这三个方法可能有互相调用的情况
class A {
    a(){    }  //业务代码
    b(){    }  // 业务代码
    c(){    } // 业务代码
}
------------- 拆分后,各个类放在不同文件----------
/// a.ts
class A_0{
    a(){} // 空 body
    b(){} // 空 body
    c(){} // 空 body
}
class A_a extends A_0{
    a(){
        /// 实际代码
    } 
}
// b.ts
class A_b extends A_a{
    b(){
        /// 实际代码
    } 
}
// c.ts
class A_c extends A_b{
    c(){
        /// 实际代码
    } 
}
/// 暴露给外面使用
class A extends A_c{
    
}
|  |      1lzgshsj      2022-05-27 14:13:29 +08:00 感觉不能治本,代码耦合度太高了。但是你的要求又是极少改动。。。感觉以后会成屎山 | 
|  |      2codehz      2022-05-27 14:21:09 +08:00 你这拆分还不如不拆分呢,想清楚目的再决策 | 
|  |      3eason1874      2022-05-27 14:22:08 +08:00  1 因为业务需要,在一个大类中有上百个方法,近万行代码,并不奇怪 为了抽象而抽象,人为提高代码组织复杂度,这才是毛病,得改掉 | 
|  |      4taowen      2022-05-27 14:26:11 +08:00 拆成多个类不就行了么…… | 
|  |      50x2CA      2022-05-27 20:14:40 +08:00 组合优与继承。。。,直接职能拆分,拆分成多个类 | 
|  |      6ychost      2022-05-28 14:54:59 +08:00 ts 貌似没有 C# 的 partial class ,不过一个 class 方法多也问题不大,高度内聚就行 | 
|  |      7lblblong      2022-05-28 22:29:39 +08:00  1 | 
|  |      8lblblong      2022-05-28 22:31:21 +08:00 我这个库就用了大量 mixin: https://github.com/lblblong/wechat-api-next |