您当前的位置: 首页 > 

命运之手

暂无认证

  • 2浏览

    0关注

    747博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【编程思想】【模块化】模块化的三个层次

命运之手 发布时间:2021-08-08 16:15:02 ,浏览量:2

源代码分离

不同的代码,放在不同的目录,或放在工程下的不同模块,分开管理

这点初学者基本都能做到

功能分离

不同模块的功能定位非常清晰,没有交叉混乱的情况

当工程规模变大,需求变得复杂,或者有很多奇葩要求时,很多人就做不到这一点了

依赖分离

当我们不需要使用某个模块时,可以直接在打包时去除整个模块

大多初中级工程师做不到这一点,大多工程师的模块化,只是将不同功能,不同实现写到不同的模块

主模块还是会使用到所有的子模块代码,只是通过if-else或switch控制调用哪个子模块代码而已

绝对的依赖分离,应当是通过配置文件和接口化编程去实现的

比如我们定义了一个登录功能的接口ILogin,它有两种实现方案LoginImplA和LoginImplB,这两个模块的代码写在不同的模块

当我们需要使用LoginImplA时,就在配置文件中指定ILogin的实现类为LoginImplA,同时可以直接屏蔽LoginImplB模块

而不是通过if(xxx) login = new LoginA else login = new LoginB这种方式,这种代码就算你不使用LoginImplB模块了,还是得将它打包进去,否则编译就会报错

这种方式需要配合一些动态技术去实现,比如Java的反射,C++的make脚本等,完全做到并不容易

关注
打赏
1654938663
查看更多评论
立即登录/注册

微信扫码登录

0.1438s