Chapter 11
EJB(Enterprise JavaBean)
[EJB란]
Enterprise Java Bean의 약자로 비지니스 로직을 포함한 객체를 말한다.
기업 환경의 시스템을 구현하기 위한 서버측 컴포넌트 모델이다.
JAVA EE에 정의되어 있으며 주로 업무 로직을 담당한다.
JAVA EE : Servlet + JSP + EJB
[EJB의 구성]
- 세션 빈 (Session Bean)
- 엔티티 빈 (Entity Bean)
- 메시지 구동 빈 (Message-driven Bean)
결합도와 응집도
결합도
결합도 (coupling)
소프트웨어의 한 요소가 다른 요소와 얼마나 연결되어있는지를 나타내는 것
결합도는 낮을수록 좋은 소프트웨어로 본다.
결합도가 높은 소프트웨어의 단점
- 연관된 다른 클래스가 변경되면 함께 변경되어야 한다.
- 수정하기 위한 클래스를 이해하기 위해서 다른 클래스도 이해해야한다.
- 나중에 다른 프로그램에서 재 사용하기 힘들다.
응집도
응집도(cohesion)
소프트웨어의 한 요소가 해당 기능을 수행하기 위해서 얼마만큼의 연관된 책임이 모여있는지를 나타내는 것
특정 기능을 하는데 너무 많은 일을 하지 않는 것이 응집도가 높은 것이다. 응집도가 높으면 유지보수성이 높아진다.
응집도는 높을수록 좋은 소프트웨어로 본다.
응집도가 낮은 소프트웨어의 단점
- 이해하기 힘들다.
- 다른 곳에 재사용하기 힘들다. (현재 사용한 곳에 관련된 것이 많아 응집도가 낮은 경우)
- 유지보수하기 힘들다.
- 다른 클래스의 변화에 민감하다.
ORM
ORM (Object Relational Mapping)
RDBMS의 관계와 객체지향 프로그램에서 사용하는 객체를 서로 매핑해주는 시스템을 말한다.
자바의 경우 자바의 모델 객체와 DBMS에서의 각 칼럼을 매핑해주는 것을 의미한다.
ORM의 예
- Hibernate
- iBatis / MyBatis
- JPA