나는 단지 SOLID
원칙을 더 익히기 위해 노력하지만 이전의 코드 (SOLID
아님)에 새 구조를 구현하여 막혔습니다.이전 코드에서 솔리드 원칙을 사용하여 새로운 기능 구현
나는이 Room.Class
public class Room {
private String roomCode;
private String roomDescription;
// getter/setter
}
지금 나는 roomDescription
에 대한 번역이 필요합니다. 나는 interface
public interface ITranslation {
String findTranslation();
}
를 작성하기 시작하고 기존 코드에 implementation
public class RoomDescriptionTranslation implements ITranslation {
@Override
public String findTranslation() {
return "translated Room";
}
을 codes
및 descriptions
일부 Rooms
를 생성하는 서비스 클래스가있다. 이 Rooms
은 뷰 (jsp 빈과 같이)에서도 사용됩니다.
새로운 요구 사항은 번역 된 설명이보기에 있어야합니다.
따라서 제 질문은 기존의 Rooms
의 번역 로직을 구현해야하는 곳입니다.
Rooms
이 생성 된 기존 serivce 클래스에서 구현해야합니까?- 또는
Room
의 내부 필드 여야합니까? - 아니면 그냥
description
이 번역 된 새로운 서비스 클래스를 만들어야합니까?
올바른 방향으로 이동하려면 포인터가 필요합니다.
번역 논리를 추가하면 이해할 수있는 것처럼 번역 논리를 추가하면 클래스에 두 가지 책임이 있습니다. 현재로서는 "Single Responsibility"가 없다. 따라서 새로운 수업을 만들고 게으르거나 기존 수업에 추가해야하는 경우 여기로 전화를 걸 수 있습니다. – NewUser
객실 코드를 사용하여 설명 텍스트를 찾고 싶습니까? –
@SME_Dev 이미 설명이 있습니다. 그러나 그것의 번역이 필요하고 또한보기에 번역 된 설명이 필요합니다. – Patrick