读《expert one-on-one J2EE Development without EJB 》

       简单翻阅了一下这本经典书籍,并没有像有些读者那样的醍醐灌顶,大彻大悟的感觉。一是可能入行时间短,从开始使用框架进行web的开发就一只使用spring,对于EJB没有亲身使用经验。二是可能道行太浅,没有理解书中作者的深刻思想。博客用于简单记录读书过程中感觉有价值的一些点,可能是思想上的也可能是一些概念理论,没有章法。

     前几章节的EJB不作记录,不知道他在说啥

第六章:轻量级容器与控制反转

      工厂模式学习:https://blog.csdn.net/Hnkuo/article/details/80950565

     无状态会话bean:SLSB           bean一旦实例化就被加进会话池中,各个用户都可以共用。即使用户已经消亡,bean的生命期也不一定结束,它可能依然存在于会话池中,供其他用户调用。由于没有特定的用户,那么也就不能保持某一用户的状态,所以叫无状态bean。但无状态会话bean并非没有状态,如果它有自己的属性(变量),那么这些变量就会受到所有调用它的用户的影响,这是在实际应用中必须注意的。

     有状态会话bean:每个用户有自己特有的一个实例,在用户的生存期内,bean保持了用户的信息,即“有状态”;一旦用户灭亡(调用结束或实例结束),bean的生命期也告结束。即每个用户最初都会得到一个初始的bean。


针对接口编程,而非针对类编程

       1.站在你的角度:没有实现接口自己直接写类,例如我要写一个PersonDao类.首先我就要想返回一个什么值给你呢 ?返回一个具体参数值呢还是返回一个对象给你呢?好吧.不知道...去翻别人的类的代码.(烦死了)...我CAO别人还没写..没得翻!!!!纠结!!去问项目经理你要什么值!!!项目经理不在????.....好吧晕了......到方法名了:方法名代表了这个方法的意义:例如保存一个对象.有些人爱用SAVE(),有些爱用ADD().到底用哪个呢?

       2.你的同事(使用你的类.你的类调用者):我CAO.为毛有些人返回给我的是参数.有些人返回给我的对象.搞毛线啊.怎么处理啊!!!为什么有些用SAVE方法.有些用ADD方法名????去翻你代码,晕了


总结一下:JAVA的JDBC就是一种接口规范.SUN公司写好一系列接口.规定返回值.各大数据库厂商的代码我不管你怎么实现.命名.返回值.传入值是定死的.方便了调用者.也方便了实现者.这就是编程规范.

       对内的业务功能可以只有实现类干掉接口


优先使用策略模式而不是继承

策略模式:http://www.runoob.com/design-pattern/strategy-pattern.html


第七章:Spring框架简介

       尽可能将资源查找代码从应用对象中移出,应用对象应该从外部获得连接工厂,这是将IOC的基本原则应用于资源之上,在任何环境下都可以灵活地配置应用对象,并且——同样重复地——轻松地测试它们。

       JNDI(Java Naming and Directory Interface,Java命名和目录接口)是SUN公司提供的一种标准的Java命名系统接口,JNDI提供统一的客户端API,通过不同的访问提供者接口JNDI服务供应接口(SPI)的实现,由管理者将JNDI API映射为特定的命名服务和目录系统,使得Java应用程序可以和这些命名服务和目录服务之间进行交互。目录服务是命名服务的一种自然扩展。两者之间的关键差别是目录服务中对象不但可以有名称还可以有属性(例如,用户有email地址),而命名服务中对象没有属性


        尽量使用普遍性高,特殊性少的接口

第七章:基于AOP概念的声明性中间件

    代码重复是最糟糕的代码臭味,只要出现重复的代码,必定有什么地方存在严重的问题,要么设计有问题,要么是实现有问题。



未完待续....

猜你喜欢

转载自blog.csdn.net/hnkuo/article/details/80900486
EJB