学好java设计模式,编程不迷茫--java学习笔记

从学习编写程序到编写项目我们发现了一个问题,在没有按照设计模式的编写程序的情况下,总感到非常迷茫,没有头绪,这个程序应该有哪些功能,不得而知,所做出来的小项目,乱成一锅粥。

所以我们必须理解学习设计模式

首先我们要知道8条设计原则:

1.面向接口编程

2.优先使用对象组合而非类继承

3.分层:

             1.用户UI层:UI

             2.逻辑层:business

             3.数据层:dao

4.层间交互的基本原则

5.开闭原则

6.依赖性倒置原则

7.接口隔离

8.替换原则


一般一个功能模块我们将它分为

     Dao:数据层

             dao:dao数据层接口,四种抽象方法(增、删、改、查)

             factory:dao数据层工厂,用于返回dao数据层实现类,构造函数设为private

             impl:实现类,对外不可见,用于实现dao数据曾接口中的所有功能

     business:逻辑层

             ebi:逻辑层接口,将UI层收集的数据(值对象)传递给dao实现类方法的抽象方法

             ebo:逻辑层实现类,实现ebi中方法

             facto:逻辑层工厂,用于返回逻辑层ebo类对象给ui层

     vo:值对象

     UI:用户交互界面

各层通过接口和工厂的交互来进行功能的实现

设计步骤

第一步设计vo

第二部设计dao

第三部设计business

第四部设计ui

每层的设计步骤

第一步设计接口

第二部实现实现类

第三部完成工厂的封装功能


例如模拟实现用户姓名年龄存储的模块功能逻辑层代码:

ebi:

package cn.hncu.example2.UserMessage.bussiness.ebi;


import cn.hncu.example2.UserMessage.vo.UserVo;


public interface UserEbi {
public boolean creat(UserVo user);
}


ebo:

package cn.hncu.example2.UserMessage.bussiness.ebo;


import java.util.UUID;


import cn.hncu.example2.UserMessage.bussiness.ebi.UserEbi;
import cn.hncu.example2.UserMessage.dao.dao.UserDao;
import cn.hncu.example2.UserMessage.dao.factory.UserDaoFactory;
import cn.hncu.example2.UserMessage.vo.UserVo;


public class UserEbo implements UserEbi {


@Override
public boolean creat(UserVo user) {
String uuid = UUID.randomUUID().toString();
user.setUuid(uuid);
UserDao userd = UserDaoFactory.getUserDao();
return userd.creat(user);
}


}


factory:

package cn.hncu.example2.UserMessage.bussiness.factory;


import cn.hncu.example2.UserMessage.bussiness.ebi.UserEbi;
import cn.hncu.example2.UserMessage.bussiness.ebo.UserEbo;
import cn.hncu.example2.UserMessage.vo.UserVo;


public class UserBusifactory {
private UserBusifactory() {


}


public static UserEbi getUserEbi() {
return new UserEbo();
}
}



初步学习了设计模式从此对java的项目设计有了一定了解

用小本本记下来,避免以后忘记

你可能感兴趣的:(java设计模式)