现阶段对POJOs的理解

    因为毕业设计的缘故,最近刚刚开始学Spring,遇到了一个概念POJOs,在网上查了查相关资料,越看越迷惑,因为很多资料都是相互矛盾的。

    一方面理解说POJOs是一种纯粹的javabean,它只能装载数据,作为数据存储的载体,而不具有业务逻辑处理的能力。而另一方面,Martin Fowler则说," In the talk we were pointing out the many benefits of encoding business logic into regular java objects rather than using Entity Beans." 显然Martin Fowler的意思是 POJOs中是含有业务逻辑的。

    我今天也思考了一下,以下是我想的:

    就像前一篇文章中说的那样,我把Spring框架的设计原则理解为 "内核小而外延丰富" 。那么什么是内核,什么是外延呢?

    先从Spring的AOP说起,有些朋友在文章中说,oop是纵向设计,而AOP是横向设计,我认为这样理解有些片面,因为两者之间是没有可比性的,oop是站在"类-对象"层次上的解耦,AOP是站在更高层次--整体系统的设计的角度的解耦(前文说过,个人以为解耦是软件设计的最基本原则)。

    然后再说内核与外延,什么是内核呢,什么是外延呢?

    个人愚见,内核就是业务逻辑,因为这是软件设计的主线和核心部分,外延就是业务逻辑之外的其他功能(如鉴权功能,日志管理等等)。为了解耦,AOP的思想原则就是把混杂在业务逻辑的外延功能提取出来,这样业务逻辑模块就更加纯净。这种纯净的业务逻辑就是POJOs,提取出来的外延就是一个个的Aspect。

    以上便是我现阶段理解的POJOs,,有些主观臆断,肯定不准确,请各位朋友也留下自己的见解,大家相互讨论,共同学习进步。此文就算抛砖引玉吧,请各位嘴下留情。

你可能感兴趣的:(spring,AOP,框架,oop)