public interface Dao<T> {Optional<T> get(long id);List<T> getAll();void save(T t);void update(T t, String[] params);void delete(T t);}
public class UserDao implements Dao<User> {private List<User> users = new ArrayList<>();public UserDao() {users.add(new User("John", "john@domain.com"));users.add(new User("Susan", "susan@domain.com"));}@Overridepublic Optional<User> get(long id) {return Optional.ofNullable(users.get((int) id));}@Overridepublic List<User> getAll() {return users;}@Overridepublic void save(User user) {users.add(user);}// ...}
public interface UserRepository {User get(Long id);void add(User user);void update(User user);void remove(User user);}
public class UserRepositoryImpl implements UserRepository {private UserDaoImpl userDaoImpl;@Overridepublic User get(Long id) {User user = userDaoImpl.read(id);return user;}@Overridepublic void add(User user) {userDaoImpl.create(user);}// ...}
文章转载自整码阁,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




