Click here to Skip to main content
15,887,746 members
Home / Discussions / Java
   

Java

 
QuestionRe: Servlet Error Pin
Richard MacCutchan19-Aug-15 6:09
mveRichard MacCutchan19-Aug-15 6:09 
AnswerRe: Servlet Error Pin
jschell21-Aug-15 12:22
jschell21-Aug-15 12:22 
AnswerRe: Servlet Error Pin
Member 1193933126-Aug-15 21:34
Member 1193933126-Aug-15 21:34 
QuestionHow to Create Outlook Appointment in outlook from Java Application Pin
Member 1164569416-Aug-15 21:24
Member 1164569416-Aug-15 21:24 
AnswerRe: How to Create Outlook Appointment in outlook from Java Application Pin
Kannu Verma19-Aug-22 9:57
Kannu Verma19-Aug-22 9:57 
Questionadding signature box Pin
Aditya kumar16-Aug-15 19:23
Aditya kumar16-Aug-15 19:23 
AnswerRe: adding signature box Pin
Richard MacCutchan16-Aug-15 21:02
mveRichard MacCutchan16-Aug-15 21:02 
QuestionEnterprise application architecture Pin
Neo1010114-Aug-15 11:15
Neo1010114-Aug-15 11:15 
I took a look at someone's code here and I am trying to understand its architecture:
We are looking at a classic enterprise architecture using Spring core for dependency injection.

Java
import org.springframework.beans.factory.annotation.Autowired;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class FavoriteService {
    @Autowired
    private Users users;

    public boolean checkLogin(String username, String password) {
        return users.login(username, password);
    }


    public void addUser(String root, String rootpasswd, String username, String password) {
        if(root.equals("root")&&rootpasswd.equals("rootpasswd")) {
            users.addUser(username, password);
        }
    }

    public User getUser(String username){
        return users.getUser(username);
    }

    public List<String> getFavorites(String username, String password) {
        if (getUser(username) == null) return new ArrayList<>();
    }

    public void addFavorite(String username, String password, String favorite1) {
            users.addFavorite(username,password,favorite1);
    }

    public void removeFavorite(String username, String password, String favorite1) {
        users.removeFavorite(username,password,favorite1);
    }

    public void addFavorite(String username, String password, String favorite1) {

    }
}

Java
import java.util.ArrayList;
import java.util.List;

public class User {
    private final String username;
    private final String password;
    private final List favorites = new ArrayList<String>();

    public User(String username, String password) {
        this.username = username;
        this.password = password;
    }

    public String getPassword() {
        return password;
    }

    public String getUsername() {
        return username;
    }

    public List<String> getFavorites(){
        return favorites;
    }

    public void addFavorite(String favorite){
        favorites.add(favorite);
    }

    public void removeFavorite(String favorite) {
        favorites.remove(favorite);
    }
}

Java
public interface UserDao {
    public void create(User user);

    public User getUser(String username);
}

Java
import java.util.HashMap;
import java.util.Map;

public class UserDaoWithMap implements UserDao {
    private Map<String, User> users;

    public UserDaoWithMap() {
        this.users = new HashMap<>();
    }

    @Override
    public void create(User user) {
        users.put(user.getUsername(), user);
    }

    @Override
    public User getUser(String username) {
        return users.get(username);
    }
}

Java
    public class Users {
    
    @Autowired
    private UserDao userDao;

    public void addUser(String username, String password) {
        User user = new User(username, password);
        userDao.create(user);
    }

    public User getUser(String username){
        return userDao.getUser(username);
    }

    public boolean login(String username, String password) {
        User user = userDao.getUser(username);
        if (user == null) return false;
        if (!user.getPassword().equals(password)) return false;
        return true;
    }

   public void addFavorite(String username, String password, String favorite1) {
        User user = userDao.getUser(username);
        if(login(username,password)){ 
            user.addFavorite(favorite1);
        }
    }

    public void removeFavorite(String username, String password, String favorite1) {
        User user = userDao.getUser(username);
        if(login(username,password)) {
            user.removeFavorite(favorite1);
        }
    }
}


I understand the following enterprise roles are in place:
service: FavoriteService
model: User
dao: UserDao, UserDaoWithMap

However, I don't understand what enterprise role the 'Users' class fulfills. I don't see where in the architecture it fits - it looks to me like some sort of helper class. Though, it does look like it has business value because it uses the UserDao.
Does anyone see any standard pattern here? Does the 'Users' class have an enterprise purpose or is it just some custom helper class?

I think it is a Manager/Controller type of class.

modified 14-Aug-15 17:32pm.

AnswerRe: Enterprise application architecture Pin
Richard MacCutchan14-Aug-15 20:51
mveRichard MacCutchan14-Aug-15 20:51 
GeneralRe: Enterprise application architecture Pin
Neo1010115-Aug-15 2:46
Neo1010115-Aug-15 2:46 
Questionhow to build 3d box Pin
Member 1189993511-Aug-15 5:56
Member 1189993511-Aug-15 5:56 
AnswerRe: how to build 3d box Pin
Richard MacCutchan11-Aug-15 6:20
mveRichard MacCutchan11-Aug-15 6:20 
GeneralRe: how to build 3d box Pin
Neo1010115-Aug-15 2:46
Neo1010115-Aug-15 2:46 
QuestionJava - Calculation in NEW array Pin
Frankie124511-Aug-15 5:36
Frankie124511-Aug-15 5:36 
AnswerRe: Java - Calculation in NEW array Pin
Richard MacCutchan11-Aug-15 6:15
mveRichard MacCutchan11-Aug-15 6:15 
QuestionDelimiters Pin
Member 107286679-Aug-15 10:58
Member 107286679-Aug-15 10:58 
AnswerRe: Delimiters Pin
Richard MacCutchan10-Aug-15 0:56
mveRichard MacCutchan10-Aug-15 0:56 
QuestionJava Bubble Sort Pin
Frankie12457-Aug-15 5:00
Frankie12457-Aug-15 5:00 
QuestionRe: Java Bubble Sort Pin
Richard MacCutchan7-Aug-15 6:21
mveRichard MacCutchan7-Aug-15 6:21 
AnswerRe: Java Bubble Sort Pin
Frankie12457-Aug-15 6:37
Frankie12457-Aug-15 6:37 
GeneralRe: Java Bubble Sort Pin
Richard MacCutchan7-Aug-15 21:09
mveRichard MacCutchan7-Aug-15 21:09 
GeneralRe: Java Bubble Sort Pin
Frankie12459-Aug-15 9:33
Frankie12459-Aug-15 9:33 
GeneralRe: Java Bubble Sort Pin
Richard MacCutchan10-Aug-15 0:54
mveRichard MacCutchan10-Aug-15 0:54 
GeneralRe: Java Bubble Sort Pin
Frankie124510-Aug-15 3:22
Frankie124510-Aug-15 3:22 
GeneralRe: Java Bubble Sort Pin
Richard MacCutchan10-Aug-15 3:34
mveRichard MacCutchan10-Aug-15 3:34 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.