一直以来的一个感觉,用一句话来概况:某些方面的方便会造就另外一些方面的不便。
可能概括的不是很清楚,下面我胡言乱语的解释说明一番:
比方说框架,它是通过对一些类和配置文件等的封装,在封装的过程中,它不由自主的会假设一些前提,于是,在这个框架达到了很大的方便作用的同时,它相对于不用框架的时候,会丧失一些灵活性。不同的框架会有不同的假设,这造成了他们的特性的差异,这个框架在A方面有优势,那个框架在B方面有优势,应该不会有一个框架在所有方面都突出,因为在它封装的过程中,不可能面面俱到。
再比方说编程语言,比如java和c,二者的优缺点不相同,虽然它们都是对底层的机器语言的封装,但是在封装的过程中,他们各有各的封装原则,这造成了他们在性能上的差异。
再比如金刚石和石墨,虽然都是碳的单质,但由于内部什么排列的不同,造成二者截然不同的硬度。
还有标签,有时候虽然用起来很方便,但有些时候会觉得很不爽,很讨厌,因为它是封装后的东西,在它实现了很多方便的同时,它也损失了很多的灵活性。我们直接是页面上用<% %>来写java代码,可以任意的实现想要的功能,但是用标签的话,可能有些功能就实现不了。
做项目中也会有这样的感觉,很多时候,一个功能,如果我们做的太多太细,到最终可能会适得其反。