Sau đây là cách chúng tôi thực hiện funcionallity này
Như bạn có thể thấy, chúng tôi có nhiều Ứng dụng (Ở đây, nó hoạt động giống như trang web của bạn).
Moderator, WebMaster và Member, như được hiển thị trong bản đồ của bạn, sẽ tốt hơn như vai trò. Điều gì xảy ra cho dù bạn cần thêm "Vai trò" mới. Có lẽ bạn phải thay đổi tất cả các mô hình của bạn.
Mỗi ứng dụng người dùng (UserWebsite) có ngày bắt đầu và ngày kết thúc. Và mỗi ứng dụng có vai trò riêng của nó. Trang web của Ngân hàng cần có vai trò của Người quản lý. Một trang web Health Insurance Company cần có một vai trò Agent và vân vân ...
CẬP NHẬT
Tôi hiểu tên đăng nhập/user (một phần/toàn bộ) mối quan hệ thành phần. Trước khi tiếp tục, hãy xem điều này answer về Thành phần so với Tổng hợp.
Nhưng những gì tôi không hiểu là mục đích của UserApplication và ứng dụng lớp
Hãy suy nghĩ về ứng dụng như trang web của bạn. Tôi làm việc cho một Công ty Bảo hiểm Y tế lớn nơi chúng tôi có nhiều mô-đun (Mỗi mô-đun (Ứng dụng) có trang web riêng của mình). Nhưng một số Người dùng, không phải tất cả, đều có thể sử dụng từng mô-đun. Nó giải thích tại sao tôi định nghĩa UserApplication. vai trò
vai trò trong quá trình đăng nhập này
Không. Nó chỉ cung cấp cho một UserApplication một vai trò. Tôi có thể sử dụng mô-đun tài chính, xác định các vai trò sau: Người quản lý, Khách hàng và Khác, nơi tôi có thể đóng vai trò của Người quản lý.Nhưng tôi có thể chỉ định cho bạn một Người dùng Tạm thời (startDate và endDate) là Khách hàng để sử dụng mô-đun tài chính.
Application financialModule = new Application();
financialModule.addRole(new Role("Manager"));
financialModule.addRole(new Role("Customer"));
financialModule.addRole(new Role("Other"));
User arthur = new User(new Login("#####", "#####"));
arthur.setFirstName("Arthur");
arthur.setLastName("Ronald");
arthur.setEnabled(true);
UserApplication financialModuleUser = new UserApplication(new Period(new Date(), null));
financialModuleUser.setUser(arthur);
financialModuleUser.addRole(financialModule.getRoleByDescription("Manager"));
financialModule.addUserApplication(financialModuleUser);
Trang web của bạn trông giống như
Website myWebsite = new Website();
myWebsite.addRole(new Role("Member"));
myWebsite.addRole(new Role("WebMaster"));
myWebsite.addRole(new Role("Moderator"));
User you = new User(new Login("#####", "#####"));
you.setFirstName("FirstName");
you.setLastName("LastName");
you.setEnabled(true);
UserApplication myWebsiteUser = new UserApplication(new Period(new Date(), null));
myWebsiteUser.setUser(you);
myWebsiteUser.addRole(myWebsite.getRoleByDescription("WebMaster"));
myWebsite.addUserApplication(myWebsiteUser);
Như bạn thấy, WebMaster, Moderator và thành viên chỉ là vai trò xác định bởi trang web của bạn. Không có gì khác.
Tài nguyên tốt về UML và ORM là Java Persistence với sách Hibernate.
Opps, tôi nên để Web_master kế thừa từ người kiểm duyệt để tôi không phải viết lại hàm delete_reg_member – Anthony