复制VS复用,一字之差,结果却千差万别


  • 如果需要再一个Windows的计算器,你现在的代码能不能复用呢?面对着个问题,职场小白都会说“那还不简单,把代码复制过去不就行了吗?改动又不大,不算麻烦。”

    然而实际上并不是这样,有人说初级程序员的工作就是Ctrl+C和Ctrl+V,这其实是非常不好的编码习惯,因为当你的代码中重复的代码多到一定程度,维护的时候,可能就是一场灾难。越大的系统,这种方式带来的问题越严重,编程有一原则,就是用尽可能的办法去避免重复。想想看,你写的这段代码,有哪些是和控制台无关的,而只是和计算器有关的?

    一个漂亮的做法是让业务逻辑与界面逻辑分开,让它们之间的耦合度下降。只有分离开,才可以达到容易维护或扩展。

    使用Operation运算类将运算类和客户端分开,就可以实现复用了,除了作为Windows程序,在Web版程序中要运用它也可以,同样PDA、手机需要运算都可以用它。

    这就实现了程序的复用,在这里用到了面向对象三大特性的封装。fc108f7d-d473-406f-bf80-a435561130c7-image.png