java开发是否一定要使用三层结构

从开始学习java的时候,爷爷的爷爷就教导我们,要使用三层结构去开发结构明细,低耦合,高可用的项目。但是具体开发中,每新建一张表,就要新建BO,dao层,服务层,而新建这5,6个类也许仅仅只为了实现一个基本的CRUD而已。

经过漫长的折磨之后,不禁在想,在当前以pyhton为代表的轻语言越来越热的时候,我们是不是更应该关注更轻量的代码设计呢?

java区别于这些轻量级语言之处,应该是j2ee的大型项目的管控能力,这种分层的严密组织结构在项目规模缩小的同时,也应该进行大瘦身。

例如持久层,对于大部分的表维护,其实就是简单的查询,修改,保存,对于这些基本都一样的代码,没有必要单独去写一个DAO层的接口类和实现类。

是否可以直接通过代码生成器,生成表对应的PO,让这些PO对象继承一个父类,在父类中加入CRUD的方法,这样不就节省了大部分的工作吗?

例如:

public class BaseModel {

    private HibernateTemplate hibernateTemplete;

    public void setHibernateTemplete(HibernateTemplate hibernateTemplete) {
        this.hibernateTemplete = hibernateTemplete;
    }
    
    public void save(){
        hibernateTemplete.saveOrUpdate(this);
    }
    
    public void delete(){
        hibernateTemplete.delete(this);
    }
    
    public List findByExample(){
        List users = hibernateTemplete.findByExample(this);
        if (null != users)
            return users;
        return new ArrayList();
    }
    
}

服务层的话,也可以考虑直接用静态类的静态方法,省去实现类和接口类。不过这种方式要保留使用,对于小规模的没有关系,如果项目规模稍大,还是严格使用接口类来管理。

这种代码方式只是一个想法,并没有看见成熟的案例,是否存在风险,和不可控的性能问题,还需要探讨!

请大神指点!

posted @ 2013-09-09 10:46  看天空变黑  阅读(501)  评论(0编辑  收藏  举报