项目通过工厂模式,代理模式,单例模式进行创建
今天只写出了基本框架,通过工厂模式创建角色
工厂的接口
import user.User;
public interface IUserFactory {
User createUser(String name,int userID);
}
管理员工厂
import user.AdminUser;
import user.User;
public class AdminUserFactory implements IUserFactory{
@Override
public User createUser(String name, int userID) {
return new AdminUser(name,userID);
}
}
普通角色工厂
import user.NormalUser;
import user.User;
public class NormalUserFactory implements IUserFactory{
@Override
public User createUser(String name, int userID) {
return new NormalUser(name,userID);
}
}
通过工厂模式进行角色的创建
public static void main(String[] args) {
//工厂模式
IUserFactory adminUserFactory = new AdminUserFactory();
User admin = adminUserFactory.createUser("刘备",1);
IUserFactory normalUserFactory = new NormalUserFactory();
User nolmal1 = normalUserFactory.createUser("张飞",2);
User nolmal2 = normalUserFactory.createUser("关羽",3);
}
还写了代理模式的基本框架,具体功能实现还未完成
public class ProxyUser {
private User realUser;
public ProxyUser(User user){
this.realUser = user;
}
public User getRealUser(){
return this.realUser;
}
//其他操作
//调⽤菜单
public int display() {
return this.realUser.display();
}
//添加书籍操作
public void addBook() {
}
//更新书籍操作
public void updateBook() {
}
//移除图书
public void removeBook() {
}
//查看图书的借阅次数
public void borrowCount( ) {
}
//查看最受欢迎的前K本书
public void generateBook() {
}
//查看库存状态
public void checkInventoryStatus() {
}
//按照类别 统计图书
public void categorizeBooksByCategory() {
}
//按照作者 统计图书
public void categorizeBooksByAuthor() {
}
//移除上架超过1年的书籍
public void checkAndRemoveOldBooks() {
}
//--------------------------------普通相关⽅法-----------------------------
//借阅图书
public void borrowBook() {
}
//归还图书
public void returnBook() {
}
//查看个⼈借阅情况
public void viewBorrowHistory() {
}
}
浙公网安备 33010602011771号