现代公司要想成功,合伙人制度必不可少。创建公司时通常的做法是建立一个母公司和子公司。子公司完全持有母公司固定比例股份,合伙人则在子公司内持有股份。这样做的好处是,当合伙人发生变动或者股权发生变动时,只需要在子公司内进行,而不会影响到母公司的股权结构,大大降低了公司的股权风险。这是一个非常典型的“解耦”操作。
耦,即耦合,“解耦”就是“避免耦合”。软件开发中的“解耦”思想由来已久,简单讲“解耦”的核心思想就是尽可能将功能封装成独立的模块,最大程度保证单个模块的可靠性,将模块和模块之间的依赖减少到最低。在这个过程中需要对业务有非常精准的把握。模块过多,难以管理,也无必要;模块过少,耦合依然存;依赖不合理反而增加开发维护成本。
软件和人一样,本身也有生命周期,大部分软件到一定年限就会进入“老年期”,这期间维护成本高于开发成本,进一步开发的话一般都会选择推倒重来。仿真软件由于其行业特殊性,周期要更长一些。对于仿真软件而言,“解耦”的重要性尤为突出,这也是仿真软件的特点决定的:开发周期长,迭代时间长,维护成本高,需要不断完善已有功能,增加新功能,对于很多case,运行时间长,调试困难,需要开发辅助工具进行调试,几何模型,仿真模型,求解,后处理,HPC,各个阶段之间存在联系,同时很多开发人员更侧重仿真业务(尤其是求解器),缺乏软件工程的背景,客观上增加软件中的“耦合”程度。
“解耦”属于架构层面需要考虑的内容,在软件设计之初就应该进行详尽规划。好的架构设计是软件质量的重要保证,在开发期间,方便团队开发和代码维护,在软件交付后利于发现和修复问题,在后期维护阶段,利于代码重构乃至重写。
声明:原创文章,欢迎留言与我讨论,如需转载留言