2012-04-01 3 views

답변

3

인터페이스는 비즈니스 로직 용이며, 모듈의 동작 또는 기능을 선언합니다. POJO는 데이터를 포함하고 논리를 수행하지 않는 객체입니다.

+0

OO-Paradigma는 우리가 데이터를 넣어야하고 그것의 기능을 하나의 클래스에 넣어야한다고 말합니다. 이것을 분할하는 것은 기술적 인 이유로 유용 할 수 있지만 OO를 위반하는 것입니다. – BetaRide

+0

우리가 PlainOldJavaObject에서 이야기 할 때 우리는 로직 전용 getter와 setter가없는 데이터 (속성) 만 포함하는 객체에 대해 이야기합니다. 당신은 기능이있는 객체 (데이터를 포함하고있을 가능성이 있습니다)에 대해 옳았습니다. 분할해서는 안됩니다. – shem

+0

> OO-Paradigma는 우리가 데이터를 넣어야하고 그것의 기능을 한 클래스에 넣어야한다고 말합니다. - 케이크가 굽는거야? 'cake.bake()'는 어떤 의미가 있습니까 ??? –

1

같은 의미로 인터페이스를 만들 수 있습니다. 동일한 기능을 공유하는 여러 클래스가 있을까요? 즉, 동일한 인터페이스를 제공합니까? 이 경우 그 안에 (비즈니스 로직) 메소드로 인터페이스를 생성 할 수 있습니다.

또한 인터페이스에는 상태를 추적하는 변수가 없으며 인터페이스를 구현하는 클래스의 일부가됩니다. 인터페이스가 같은 여러 클래스는 다른 방식으로 구현할 수 있으므로 인터페이스에 변수 (getter 및 setters)를 지정할 필요가 없습니다.

0

인터페이스에는 반드시 getter 및 setter가 없어야합니다. 인터페이스는 클래스가 수행 할 수있는 기능 만 제공합니다 (getters/setter가 필요한 경우 - 추상 클래스 사용). 필드는 일반적으로 (항상은 아니지만) 구현의 일부일뿐입니다. 당신의 클래스는 데이터를 포함하는 경우

따라서, 엔티티에 대한 인터페이스를 사용하는 것은 그들이 JPA 다루고 있다는 사실에서 클라이언트를 분리 할 수 ​​있습니다 주장 할 수 인터페이스

0

하나의 필요가 없습니다. 때로는 동일한 인터페이스를 공유하는 지속 된 엔티티 옆에 여러 파생 된 비 영구적 인 비즈니스 객체가 필요하다는 상황이 있습니다. 그러한 경우 나는 이것을 적절하게 생각한다. 그러나 거래를 염두에 두지 않을 경우에만 읽기 전용으로 사용을 제한해야합니다.

0

법인 또는 POJO는 게터와 속성을 가지고 있기 때문에 나는, 인터페이스는 어떤 의미가 같은 개체/POJO를 생각 해달라고 좋고 setters 그리고 데이터 용으로 사용됩니다. (인터페이스를 구현하는 POJO에서) 인터페이스와 구현을 제공하고 Implementation 클래스에 대한 인터페이스 참조를 사용하여이를 데이터베이스에 유지하고 있다고 가정합니다. 그것은 지속될 것이지만, 동일한 인터페이스를 구현하는 다른 pojo를 제공한다면 어떨까요? 그것은 분명히 pojo의 의미를 위반할 것이고, 당연히 어떤 pojo가 지속되는지 혼란스럽게 할 것입니다.

관련 문제