2010-07-22 51 views
1

對於以下情景設計我有一些疑問: 有一家公司。 典型的公司至少具有以下屬性:(1 公司 2.員工在java中爲真實生活場景造型

列表的名稱

典型的員工具有以下屬性: 1.姓名2. 系

典型處已至少以下屬性: 1. numberOfEmps 2.描述

每個部門都應該保留該部門的員工數量,所以每當員工被添加或刪除時,應分別增加或減少員工部門。

如何使用java類對此進行建模?w

回答

1

有以下類。

公司

String id; // Unique identifier for company. 
String name; // Name of company 

員工

String id; // Unique identifier of employee. 
String Name; // Name of employee 
Department department; // Instance of Department to which this employee belongs. 
Company company; // Instance of Company to which this employee belongs. 

String id; // Unique identifier of department. 
long employeeCount; // Count of employees. 
String description; // Description of department. 

public setEmployeeCount(); // Method which searches through all Employee objects matching current department with its unique id. 

注意。 Department和Employee的反向映射是爲了確保在任何時候,其中一個類將Employee對象保留在列表中。如果員工數量增長到很大程度,這可能會成爲一個值得關注的問題。

0

您可以創建員工和部門之間的雙向關係:

的員工都知道他的部門,該部門知道屬於它的員工。

如果更改了員工的部門,並且新部門與當前部門不同,則將該員工從當前部門中刪除(如果當前部門不爲空),將其添加到新部門中,並且當前部門是更新。

將員工添加到部門時,員工的部門已更改。