문제

는 개념에서 했나요 질문 제목에 동의어이 어느 정도?어디에서의 주된 차이는 거짓말(context,구조,...)를 하나로 간주되 하위 집합의 다른?여기에 몇 가지 간략히 정의 촬영에서 Wikipedia.

POJO(일반전 Java 개체) Wikipedia

컴퓨팅에 소프트웨어,POJO 가 의 약자에 대한 일반 이전 Java 개체입니다.이 이름은 사용하는 것은 아니라는 점을 강조한어 개체의 일반 Java 개체지 특별한 개체에 특별한 지 않은 기업 자바빈.용어 에 의해 만들어졌다 Martin Fowler,레베카 파슨스와 조에서의 매켄지 September2000:

"We wondered why people were so against using regular objects in their
 systems and concluded that it was
 because simple objects lacked a fancy
 name. So we gave them one, and it's
 caught on very nicely."

Java 콩 Wikipedia

JavaBeans 는 재사용할 수 있는 소프트웨어 구성 요소에 대한할 수 있는 자바 조각에서는 빌더 도구입니다.실질적으로,그들은 클래스 written in Java 프로그래밍 언어를 따르는 특정한 convention.그들은 사용 캡슐화는 물건을 재료로 한 체(콩),할 수 있도록 주위에 전달 하나로 빈체 대신 여러 개별 체입니다.자바빈 Java 체 는 직렬화는 nullary 생성자,접근을 허용합니다 속성을 사용하여 getter 및 세터 방법이 있습니다.

값을 객체 Wikipedia

데이터 전송을 개체(DTO),이전 값으로 알려진 객체 또는 VO,가 디자인 패턴을 사용하여 데이터를 전송 사이 소프트웨어 응용 프로그램 일부를 공유 할 수 있습니다.Dto 로은 종종에서 사용되는 과 함께 데이터 액세스는 개체 데이터를 검색하는 데이터베이스에서.

업체 Wikipedia

비즈니스 개체의 유형 가능 엔터티를 배우 내부 비즈니스 레이어에 n 층 객체 지향 컴퓨터 프로그램입니다.

관련된:

차이 DTO,VO,POJO,JavaBeans? 의 차이점은 무엇입 자바빈과 POJO? DDD:what's 의 사용의 차이는 엔티티와 값을까?

도움이 되었습니까?

해결책

하지 않는 모든 이들의 분류와 관련이 있습니다.여기에서의 내:

  • POJO 은 무엇이 그 이름에서 알 수 있듯-일반 Java 개체입니다.에 대해 특별한 것은 없습니다.그리고 이것은 정확히 우리가 무엇을 전달하려는 우리가 말할 때는 객체가 POJO.오늘날 대부분의 응용 프로그램을 사용하는 몇 가지 종류의 기본 프레임워크,그리고 프레임워크에 와서 요구 사항에는 개체를 통합하는 것으로 프레임워크-물체를 구현해야 합니다 인터페이스를 확장하는 클래스입니다.우리가 말할 때는 객체가 POJO,우리는 의미를 말한 그것은 그냥 평범한 개체 없고 아무 의존성에 프레임 워크입니다.

  • 자바빈 java 클래스는 다음과 같이 특정 규칙에 설명된 대로 귀하의 질문입니다.이러한 객체는 종종 위임에 의 특정 프레임워크에 사용하는 반사를 찾 속성(스를 통해 필요한 것입/setters)개체의 조작 그콩 노출 Jsp,봄 콩 등입니다.좋은 일에 대한 JavaBeans 는 그들은 여전히 Pojo.하지만 그들이 따라 일정 규칙,규칙 정의되지 않은 어떤 특정 프레임워크가 있지만 오히려에 의해 정의된 태양 자바빈 표준 클래스는 여전히 일반 Java 클래스와 아무 관계를 타는 프레임워크의 클래스 또는 인터페이스가 있습니다.

  • 비즈니스 개체 개체를 참조하는 여러분의 사업체를 나타내는 도메인 단체이다.이들은 일반적으로 거주하는 귀하의 비즈니스에서 레이어는 레이어 모든 비즈니스 논리입니다.이러한 객체는 일반적으로 지도하는 지속성장체 예:테이블이 있습니다.이러한 개체를 수 Pojo,JavaBeans,Ejb etc.

  • 값을 객체는 형식의 디자인 패턴입니다.에서 몇 가지 작은 웹 응용 프로그램,당신은 옵션을 사용하여 귀하의 비즈니스 개체 웹에서 레이어뿐만 아니라.그러나,대형 응용 프로그램에서 또는 J2EE 응용 프로그램을 정의 값을 객체 정보를 이동하는 비즈니스에서 레이어를 웹층이다.그 이유는 그들은 또한 데이터 전송 Objects(dto 로).이러한 객체는 일반적으로만 있는 특성에 필요한 웹 층이의 특성 사업체는 것으로 비즈니스를 위한 층을 소비한다.그들은 또한"계산된 특성"에 생성되는 비즈니스에서 레이어입니다.를 사용하여 이 패턴는 데 도움이를 분리하는 비즈니스 및 웹 층이 있습니다.

다른 팁

여기에 나의 취입 :

  1. 비즈니스 객체는 일반적인 용어입니다 추상적 인 아이디어를 위해 문제를 나타냅니다. 당신은 할 수 있습니다 어떤 언어로든 구현하십시오. 에 Java, 추가 선택 사항이 있습니다 그들이 pojos 일 수 있기 때문에 만들 수 있습니다 ejbs, 변호적이거나 불변.
  2. 값 오브젝트 또는 DTO는 계층 간의 데이터를 페리에 사용하는 데 사용됩니다. 그들은 대개 불안정합니다. 그들은 POJOS 또는 Java Bean으로 구현 될 수 있습니다. 그들을 pojos의 다른 부분 집합으로 생각하십시오.
  3. Java Bean은 원래의 Sun 사양을 준수합니다. 그들은 쉽게 VB 스타일의 IDE에 꽂을 수있는 인터페이스를 제공하기위한 것입니다. 이것들을 pojo의 하위 집합으로 생각하십시오.
  4. 사람들은 때로는 Java Beans와 Enterprise Java Bean의 차이점에 대해 혼란스러워합니다. Java Beans는 VB 구성 요소 ( "Bean Box"를 기억하십시오.) 원래 Java 1.0 사양의 일부입니다. Enterprise Java Bean은 특수 Java 오브젝트가 Java EE 앱 서버와 상호 운용하기 위해 특정 인터페이스를 구현하는 방법에 대해 설명한 사양이었습니다. 앱 서버는 스레딩, 지속성, 풀링, 개체 수명주기, 메시징, 이름 지정 등을 처리하는 분산 구성 요소 아키텍처의 트랜잭션 모니터였습니다. EJB는 Java EE 앱의 컨텍스트에서만 작동하는 Java 오브젝트의 매우 특별한 하위 집합입니다. 서버.
  5. POJO는 Java Bean 표준을 준수하기 위해 구현 될 수 있지만 요구 사항은 아닙니다. 모든 Java 객체는 POJO 자격이 있습니다. 원래 Java EE App 서버와 제대로 상호 운용하기 위해 여러 인터페이스가 필요한 EJB 버전 2.0과 구별되는 것이 원래입니다.

질문은 이들 중 일부를 동의어로 사용하는 것입니다 (일부 사람들을 들었던 것처럼)과 주어진 분류가 서브 세트 또는 다른 분류로 간주 될 수있는 경우.

이 조건을 동의어로 사용하는 것은 실수입니다.그들은 분명히 별개의 의미를 가지고 있습니다.인용 된 정의 (및 다른 답변에 제공된 것)는이를 분명히합니다.

그러나

그러나 종종 동일한 객체 또는 객체를 설명하기 위해 이러한 용어의 많은 (또는 심지어)을 사용하는 것이 종종 유효합니다.그것은 모두 관점의 문제입니다.I.E.E. 귀하가 강조하려는 물체의 어떤 측면.

(답변에서 답변) :

  • pojo : 모든 프레임 워크에 대한 종속성이없는 일반적인 물체. 그것은 그러한 요구 사항이없는 경우 Java Bean 표준을 준수하도록 적용 할 수 있습니다.
  • JavaBean : Sun JavaBean 또는 Java 1.0 사양을 준수하는 개체 ( "Bean Box"참조). 그들은 원래 인터페이스를 제공하도록 의도되었으므로 VB 스타일의 IDE에 거의 어려움을 겪을 수 있습니다. pojos의 하위 집합으로 간주되며 프레임 워크와 독립적으로 유지됩니다. 그것은 액세스 속성에 대한 반사와 같은 특정 mecanism을 사용할 수 있습니다.
  • 엔터프라이즈 Java Bean : 이들은 Java Bean과 혼동해서는 안됩니다. 버전 3.0을 사용하여 간단하게 가져온 단순화로 EJB는 POJO와 동일한 것으로 간주 될 수 있습니다. EJB 자체는 Java EE 서버와 상호 운용 할 수있는 특수 Java 오브젝트를 설명하는 사양입니다. 스레딩, 지속성, 풀링, 개체 수명주기, 메시징 및 이름 지정과 같은 사물을 처리하는 분산 구성 요소 아키텍처의 컨텍스트에서 트랜잭션 모니터로 사용되는 서버는 서버입니다. 이러한 EJB는 Java EE 응용 프로그램 서버의 Contect에서 사용되는 매우 특별한 하위 집합으로 볼 수 있습니다.
  • 비즈니스 오브젝트 : 주어진 문제를 나타내는 이론적 인 개념 또는 추상적 인 아이디어. 비즈니스 도메인 엔티티를 나타내며 응용 프로그램의 비즈니스 계층에 있습니다. 지속성 맥락에서 엔티티에 매핑 될 수 있습니다. 객체는 POJO / JavaBean / EJB 일 수 있으며 변경할 수 있거나 불변이 가능합니다.
  • 값 개체 / 데이터 전송 개체 : 비즈니스 및 웹 레이어를 분리하는 데 도움이되는 디자인 패턴을 사용합니다. 이는 객체가 레이어 (예 : 예를 들어 비즈니스 및 웹 레이어)간에 이동할 수있는 대규모 응용 프로그램의 컨텍스트에 맞는 것입니다. 그들은 보통 본질적으로 불변이며 pojos 또는 자바 콩으로 형성 될 수 있습니다. 하나의 특이성은 비즈니스 계층에서 생성 된 계산 된 속성을 포함 할 수 있다는 것입니다.

P.s : 커뮤니티 위키로 표시되므로 편집 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top