学好java设计模式,编程不迷茫--java学习笔记
来源:互联网 发布:山东数据恢复厂家 编辑:程序博客网 时间:2024/06/07 01:39
从学习编写程序到编写项目我们发现了一个问题,在没有按照设计模式的编写程序的情况下,总感到非常迷茫,没有头绪,这个程序应该有哪些功能,不得而知,所做出来的小项目,乱成一锅粥。
所以我们必须理解学习设计模式
首先我们要知道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设计模式,编程不迷茫--java学习笔记
- Java设计模式 -- 学习笔记
- java设计模式学习笔记-工厂模式
- java设计模式学习笔记-构建模式
- java设计模式学习笔记-原型模式
- java设计模式学习笔记-适配器模式
- java设计模式-工厂模式学习笔记
- java设计模式学习笔记--外观模式
- 学习笔记:Java设计模式-命令模式
- 学习笔记:java设计模式--命令模式
- java设计模式学习笔记--观察者模式
- java设计模式学习笔记--适配器模式
- java设计模式学习笔记--代理模式
- Java设计模式学习笔记1
- java设计模式学习笔记1
- java 学习笔记【六】设计模式
- Java设计模式学习笔记(一)
- JAVA学习笔记(五十七)- 常用设计模式
- git 安装
- FluentData介绍
- cf 681C
- ceph存储 服务器硬盘故障预测实践
- 新建一个vue项目
- 学好java设计模式,编程不迷茫--java学习笔记
- 博为峰JavaEE技术文章 ——MyBatis 拦截器(1)接口简介
- soap消息jdk版本问题导致报错
- 我希望进入大学时就能知道的一些事儿
- css 透明度问题
- 哈夫曼树实现文件的压缩与解压缩
- ceph存储 CentOS内核优化示例sysctl.conf、iptables、limits.conf
- 图像深度
- fromLocal8Bit()函数