In this particular example I’d better have a single Employee class instead of EmployeeDTO & EmployeeService. Because having them separated makes it impossible to respect Encapsulation principle from OOP.
2.2. Good Implementation:
We can split a single Employee class into multiple classes as per their specific responsibility.
It made our class loosely coupled, easy to maintain, and only single reason to modify.