|
|
|
|
@ -0,0 +1,68 @@
|
|
|
|
|
@startuml 单一职责原则-基础类图
|
|
|
|
|
|
|
|
|
|
skinparam backgroundColor white
|
|
|
|
|
skinparam handwritten false
|
|
|
|
|
skinparam monochrome false
|
|
|
|
|
skinparam shadowing false
|
|
|
|
|
skinparam roundcorner 8
|
|
|
|
|
skinparam defaultFontName Microsoft YaHei
|
|
|
|
|
skinparam defaultFontSize 14
|
|
|
|
|
skinparam packageStyle rectangle
|
|
|
|
|
skinparam package {
|
|
|
|
|
BackgroundColor LightGray
|
|
|
|
|
BorderColor Gray
|
|
|
|
|
}
|
|
|
|
|
skinparam class {
|
|
|
|
|
BackgroundColor White
|
|
|
|
|
BorderColor Black
|
|
|
|
|
ArrowColor Black
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
package "com.company.employee.model" {
|
|
|
|
|
class Employee {
|
|
|
|
|
- id: String
|
|
|
|
|
- name: String
|
|
|
|
|
- age: int
|
|
|
|
|
- department: String
|
|
|
|
|
- salary: double
|
|
|
|
|
- hireDate: LocalDate
|
|
|
|
|
- email: String
|
|
|
|
|
- position: String
|
|
|
|
|
- EMAIL_PATTERN: Pattern
|
|
|
|
|
+ Employee(id, name, age, department, salary, hireDate, email)
|
|
|
|
|
- isValidEmail(email: String): boolean
|
|
|
|
|
+ getYearsOfService(): int
|
|
|
|
|
+ getId(): String
|
|
|
|
|
+ setId(id: String): void
|
|
|
|
|
+ getName(): String
|
|
|
|
|
+ setName(name: String): void
|
|
|
|
|
+ getAge(): int
|
|
|
|
|
+ setAge(age: int): void
|
|
|
|
|
+ getDepartment(): String
|
|
|
|
|
+ setDepartment(department: String): void
|
|
|
|
|
+ getSalary(): double
|
|
|
|
|
+ setSalary(salary: double): void
|
|
|
|
|
+ getHireDate(): LocalDate
|
|
|
|
|
+ setHireDate(hireDate: LocalDate): void
|
|
|
|
|
+ getEmail(): String
|
|
|
|
|
+ setEmail(email: String): void
|
|
|
|
|
+ getPosition(): String
|
|
|
|
|
+ setPosition(position: String): void
|
|
|
|
|
- setPositionBasedOnDepartmentAndSalary(): void
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
package "com.company.employee.service" {
|
|
|
|
|
class EmailService {
|
|
|
|
|
+ sendWelcomeEmail(employee: Employee): void
|
|
|
|
|
+ sendFarewellEmail(employee: Employee): void
|
|
|
|
|
+ sendSalaryAdjustmentEmail(employee: Employee, newSalary: double): void
|
|
|
|
|
+ sendDepartmentChangeEmail(employee: Employee, newDepartment: String): void
|
|
|
|
|
- sendEmail(recipient: String, subject: String, content: String): void
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
' 关系:EmailService 使用 Employee
|
|
|
|
|
EmailService --> Employee
|
|
|
|
|
|
|
|
|
|
@enduml
|