본문 바로가기

Generics Generics 제네릭은 주로 자바 컬렉션에서 사용되고 있다. 제네릭으로 자바의 컬렉션 자료구조의 타입을 Object로 명시하여 사용할 수 있다. 예를 들어 Integer 타입의 ArrayList를 사용하려면 다음과 같이 사용하면 된다. ArrayList = new ArrayList(); 이렇게 Integer나 String 등 기본적인 타입을 컬렉션에서 제네릭으로 선언 할 수 있다. 하지만 이것보다 직접 만든 Class를 제네릭으로 사용 할 수 있다는 점이 큰 장점이다. 다음과 같이 하나의 getter/setter 클래스를 만든다. class MyObject{private int id;private String pass; public void setId(int id){this.id = id;}public.. 더보기
나의 프레임워크 설계 ref 스프링 - 4 - 앞에서 이야기 했던 클라이언트 기능에 맞춰 DTO에 관계를 설정해주면 비즈니스로직 처리가 복잡해 질 수 있다. 먼저 하나의 Biz클래스에서 여러개의 DAO를 사용해야한다는 점이 있다. 그래서 매번 Biz에서 DAO를 선언하고 의존성 주입하고 하는 것 이 사실 복잡하다.그래서 다음과 같은 설계를 생각했다. 하나의 DAOContainer 라는 클래스를 만들어서 모든 DAO들의 의존성을 주입해서 Getter/Setter로 가지고 있는 것 이다. 다음과 같다. 이렇게 Setter로 의존성을 주입 한 후 다음과 같이 사용한다. biz에서는 하나의 DaoContainer만 선언하면 모든 DAO객체를 가져다 쓸 수 있다.이렇게 하면 코드구조가 조금 더 명확해 질 수 있다는 것이 나의 생각이다. 더보기
나의 프레임워크 설계 ref 스프링 - 3 - 오늘은 DTO 설계에 관한 것이다 일반적으로 DTO를 사용할때 DB의 테이블에 맞춰서 만드는게 일반적이었다. 하지만 나는 조금 다른 방법을 생각했다. 클라이언트 기능에 맞춰서 DTO를 설계 할것이다. 먼저 다음과 같이 DB 테이블이 있다. boardId title contents createDate createId count id email nickname passwordcompanyjoinDate 이러한 테이블이 있을때 DTO는 이렇게 만들고 클라이언트 딴에서 따로 따로 불러온다. 하지만 더좋은 방법을 생각했다. DTO를 클라이언트 의 기능에 따라 관계를 설정 해주는 것이다. 1:1 관계는 다음과 같이 오브젝트로 1:n 관계는 List로 설정해준다. 이렇게 DTO를 만들면 비즈니스 모델은 조금 더 복잡.. 더보기