1) 우리는 왜 사용합니까 DTO
하고 DAO
, 우리는 그들을 때를 사용해야합니다. GUI
데이터 삽입, 편집, 삭제와 관련된 Java 소프트웨어를 개발 중 입니다. 그러나 나는 구별 할 고군분투 DTO/DAO
와 Model
, View
, Controller
(MVC) 구조? Java를 통해 데이터베이스와 상호 작용할 때 사용하는 것이 더 낫습니다 GUI
.
2) 나는 정말 궁금 한 점은이 좋은 연습입니다 여부 view
와 Controller
하나 개의 클래스이다. 에 대해 생각 Netbeans
하면 GUI
프레임 클래스를 만들고 프레임과 같은 구성 요소를 추가 할 수 있습니다 JButton
. 버튼을 두 번 클릭하면 actionListener
데이터가 사용자에게 표시되는 프레임에있는 것처럼 보이는 메서드 (컨트롤러)로 이동합니다 (보기) . 그래서 그들은 같은 수업에 있습니다. 그것은 그 개념에 완전히 반대 되는가?
여기 내가 말하는거야
한 클래스에서 뷰와 컨트롤러를 사용하는 것은 나쁜 습관입니까?
답변
DTO
는 Data Transfer Object 의 약자 이므로 응용 프로그램의 클래스와 모듈간에 데이터를 전송하는 데 사용됩니다.
DTO
데이터, 게터, 세터 및 생성자에 대한 개인 필드 만 포함해야합니다.DTO
이러한 클래스에 비즈니스 로직 메소드를 추가하지 않는 것이 좋지만 일부 util 메소드를 추가해도됩니다.
DAO
는 Data Access Object 의 약자 이므로 데이터 저장소 (데이터베이스, 파일 시스템 등)에서 데이터를 검색, 저장 및 업데이트하기위한 논리를 캡슐화해야합니다.
다음은 DAO 및 DTO 인터페이스의 모습에 대한 예입니다.
interface PersonDTO {
String getName();
void setName(String name);
//.....
}
interface PersonDAO {
PersonDTO findById(long id);
void save(PersonDTO person);
//.....
}
은 MVC
넓은 패턴이다. DTO / DAO는 MVC 패턴의 모델입니다.
데이터 검색을 담당하는 부분 만이 아니라 전체 응용 프로그램을 구성하는 방법을 알려줍니다.
두 번째 질문에 관해서는 작은 응용 프로그램이 있으면 완전히 괜찮습니다. 그러나 MVC 패턴을 따르려면 별도의 컨트롤러 를 사용하는 것이 좋습니다.이 컨트롤러 에는 별도의 클래스에 프레임의 비즈니스 논리가 포함됩니다 이벤트 핸들러에서이 컨트롤러로 메시지를 발송합니다.
이렇게하면 비즈니스 논리가보기와 분리됩니다.