单一职责原则(Java设计模式,设计原则)
- 格式:doc
- 大小:34.00 KB
- 文档页数:3
Java设计模式
设计模式是一套被反复使用、多数人知晓、经过分类编目的优秀代码设计经验的总结。设计模式,我想大家都经常听,其重要性也不言也意。从今天开始,会向大家介绍23种Java设计模式。
设计模式可分为23种,三大类型:
一、创建型,包括:
1.单例模式(单体模式):一个类只有一个实例,而且自行实例化并向整个系统提供
这个实例
2.工厂方法模式
3.抽象工厂模式
4.建造者模式
5.原型模式
二、结构型
1.代理模式:为其他对象提供一种代理以控制对该对象的访问
2.装饰模式
3.适配器模式
4.组合模式
5.桥梁模式
6.外观模式
三、行为型
1.模板方法模式
2.命令模式
3.责任链模式
4.策略模式
5.迭代器模式
6.中介者模式
7.观察者模式
8.备忘录模式
9.访问者模式
10.状态模式
11.解释器模式
在说设计模式之前,需要说一下设计原则,下面先说第一个原则
单一职责原则
定义:一个类,应当只有一个引起它变化的原因,也就是一个类应该只有一个职责。意思是,就一个类而言,应该只专注做一件事和仅有一个引起变化的原因。
下面以一个用户管理为例演示单一职责原则。在业务逻辑层上定义类UserManager,在数据访问层定义类UserDao,在实体对象层定义类User,每个类具有不同的职责和功能。
public class User {
private String username;
private String userpass;
private int role;
//………….各个属性的get、set方法
}
public class UserDao extends BaseDao {
//返回所有用户
public List
List
......//访问数据库
return userList;
}
//根据用户名查找用户
public User getUserByName(String name) {
User user=null;
String sql="SELECT * FROM userdetail WHERE username=?";
...//查找相应用户名的用户
return user;
}
//添加新用户
public boolean addUser(User user) {
//返回true 表示成功
}
}
public class UserManager {
private UserDao userDao = new UserDao();
//验证用户名和密码
public boolean CheckUser(String name,String pass) {
boolean flag=false;
User user =userDao.getUserByName(name);
if(user!=null&&user.getUsername().equals(pass)) {
flag=true;
}
return flag;
}
//注册新用户
public void registUser(User user) {
if(userDao.getUserByName(user.getUsername()) !=null) {
System.out.println("用户名已存在");
return;
}
if(UserDao.addUser(user)) {
//注册成功
}else {
//注册失败
}
}
}