箱化,块化学习

85 阅读2分钟

这是我对我自己的经验总结

本人知识有限

箱化学习:学习一个自成体系的“箱子”,比如学习一个框架,架构;他们有完善的学习流程和操作过程,对此来说,我们能够快速入门,并且将他们已经封装好的东西拿来使用并解决现实问题

块化学习:将箱子拆解,将箱子内部的东西模块化,对应每一个模块都是能够拿来单独解决问题的,而每个模块之间却存在逻辑联系,俗称“解耦”,但是我所认为的并不是通常意义的解耦,过去的解耦是将一个完整的业务流程从繁杂的代码中解放,实现模块化设计,流程化开发,对物理结构上进行拆解;而我所理解的解耦是把一个框架体系的思想拆分,从原本的开发功能中解放,比如spring框架系列中的IOC和AOP,IOC是将控制反转实现自动化注入,AOP是切片化编程,将AOP从原本的after、before中抽离出来,其本质上就是动态代理的运用

例如:我们需要编写一个注解,@PrintLog假设是用来进行方法执行前的输出语句修饰,这时候我们需要为他编写一个注解处理器,而自己编写一个会很耗费时间和代码比较多,将项目给复杂化了,这时候我们可以通过AOP的注解@Before("@annotation(PrintLog)") 对块化学习来说,我的理解是灵活地使用现有的工具块结合基础代码快速编写解决问题的代码

当然,上述的例子不是特别的好,因为这个例子看来有些刻意并不是很典型。 希望各位掘友能够找出更加详细的例子,并且完善这个想法。 敬请批评指正。