운전 시뮬레이션 프로그램을 작성하려고하는데 디자인에 대한 도움이 필요합니다. 나는 현재 Vehicle과 포유류를 포함하고있는 RoadObjects라는 인터페이스를 가지고있다. 트럭, 세단, 세미와 같은 다른 종류의 자동차를 구현해야합니다. 공통점과 고유 한 방법이 있습니다. 나중에, 나는 다른 종류의 차량과 포유 동물을 추가 할 것이다. 나는 상속을 사용하고 싶지 않고 공개 원칙 및 공장과 같은 디자인 원칙 및 패턴에 따라이 작업을 수행하려고합니다.Java에서 클래스 구현
RoadObject interface
Vehicle extends RoadObject
Mammal extends RoadObject
SedanImpl implements Vehicle
TruckImpl implements Vehicle
People implements Mammal
...
...
또는 그냥 차량과 사람들 인터페이스가 안되며,이 작업을 수행 : 이제 내 질문에,이처럼 설계해야한다?
RoadObject interface
SedanImpl implements RoadObject
TruckImpl implements RoadObject
People implements RoadObject
새로운 질문 : 나는 예를 들어 차량의 종류를 선택하기 위해, 공장 패턴을 사용하고 싶습니다. 그래서 나는 다음과 같을 수 있도록 VechicleImpl 및 VechicleImplFactory합니다
RoadObject interface
Vehicle extends RoadObject
VehicleImpl implements Vehicle
Mammal extends RoadObject
SedanImpl implements Vehicle
TruckImpl implements Vehicle
People implements Mammal
나쁜 디자인의이 종류인가? VehicleImpl에는 SedanImpl, TruckImpl 등의 중복 메소드가 많이 있기 때문에 createVehicle이라는 팩토리를 원한다면 어디에서해야합니까? 합리적인
는 Sedan'가에 필요하지 않을 수도 Truck'와''에 대한 별도의 클래스를 모델링 그래서'Truck'과'Sedan'에 필요한 정보를'VehicleImpl'에 매핑 할 수 있다면 하나의'VehicleImpl'을 갖는 것이 모든 요구 사항을 충족시킬 수 있습니다. – home
@ home 그러나 트럭과 세단에 유일한 방법의 문제는 무엇입니까 – Dan
정말로, 말해주세요 :-) – home