学术交流进行了一周,是关于J2EE的学术报告。
目的是让我们在学习的时候对“所学知识”有一个宏观的认识。
開始是以为环绕“J2EE”进行解说,怕自己没有学到,就告诉自己:这是一个“解决不知道的报告”。说实话。报告中是捡着自己能听懂的听,听不懂的,选择性的忘记了,也许在我学习的时候就“忆起来”。
这次报告中,给我留下影响最深的就是“分层”的思想了。
为什么会提出分层的思想?
回忆我们開始做分层的日子也不短了,当初是为了分层而分层。为了学习而应用,但是已经快两年了。我们有没有好好想过这个问题呢,为什么这么提倡分层?分层对我们开发项目有什么优点?全部的项目都须要分层吗?
如今来谈谈分层,分层思想的提出是为了使问题变得简单。
书上这么说。分层是为了解耦,解耦为了什么呢?这不得不使我想到了面向对象设计的“类”。在设计类的时候一个最重要的原则就是“高内聚,低耦合”。这是我们编程人员不懈的追求。类也好。对象也好,事件也罢,降低耦合度,降低他们之间的联系,每一个成员的独立性大大增强,这不就是“封装”的思想吗。
归根究竟,还是回到了最初就被灌输的编程的思想“封装”。封装性好,独立性强,这就到来了一系列优点:总体灵活性好,可扩充性好,维护性好等等。
当然这些都是宏观的。直接在编程过程中体现的有:
分层之后能够更好的应对变化,层与层之间能够单独处理本层变化,而不会影响到其它层。
每层可供我们选择的适合操作这些“个体”方法增多,由于不用过多考虑被其它“个体”牵绊;
协同高效。每层有每层的职责,应对一个大的项目,仅仅有这样。把每层分给不同的团队或者个人。团队协同合作。才干有高效。
这也仅仅是眼下的理解。相信工作经验多的人会有很多其它的体会。从以上这些简单的分析中,不难发现分层的目的仅仅有一个“让复杂变得简单”。
如今来说,全部的项目都有使用分层吗?答案不言而喻。分层是把复杂变简单。假设系统本身就非常easy。那我们还有必要搞一个分层出来吗?(学习分层除外)。
变是永远不变的。全部的知识。技术都是为了解决这个问题而存在的,我们要辩证的看待一些问题。适合才是最好的。你的系统不存在某些类型的问题。不一定非要用上最新的技术,依据项目本身,实际环境,追求至简。但是要合理。