분류 전체보기

일상생활/월별 회고

[11월 회고] 이제 달립니다

11월 회고 부천에서 열린 심포니에 다녀왔습니다 서울신학대학교 학생들이 진행하고 기독교 계열 교수님들이 함께하셨는데 기독교 계열 심포니였는데 각종 고난과 역경에 거의 언홀리 직전까지 갔던 제가 가서 홀리함을 느끼고 온 시간이었죠 지휘자분이 혼을 담아서 지휘를 하시는데 마치 선율이 손에서 흘러 나오는 느낌이었습니다. (공인중개사 딴 친구 어머님 감사합니다) 사짜 직업도 대단하지만 상위 15% 안에 든게 대단하다고 생각합니다 아무튼 학교에서 인천까지 열심히 7호선 타고 달렸지만 진짜 행복한 시간이었습니다. 그러고보니까 사진 찍어줄걸 / 찍고 올 걸 했는데 왜 그렇게 급하게 치킨 먹으러 갔었는지 기억이 잘.... 저도 수험생이었어서 건강이 많이 안 좋았었는데 그 친구도 빨리 낫기를 바랍니다.... 진짜 수험생..

전공/Design Pattern

Design Pattern - Prototype Pattern

Definition of Prototype Pattern 기존의 인스턴스를 복제하여 새로운 인스턴스를 만드는 방법에 해당한다. 자세히 설명하자면, 복제 기능을 갖추고 있는 기존 인스턴스를 프로토타입으로 활용하여 새 인스턴스를 만드는 것 시간이 오래걸리는 DB작업이나 HTTP 통신을 통한 데이터의 경우 여러번 받아오려면 시간이 걸린다. 따라서 동일한 데이터가 사용되는 여러 객체가 필요하게 되는 경우 기존의 객체 하나를 만들어두고 해당 데이터를 포함하는 객체의 클론(복제)를 통해 사용하면 딜레이가 줄어들고 자원사용에 이득을 볼 수 있다. 기본적인 클래스 다이어그램은 위와 같이 구성되는데 Prototype의 clone() 메서드에 대한 상세한 내용은 구체클래스인 ConcretePrototype에 기술되게 된다..

전공/Design Pattern

Design Pattern - Builder Pattern

QueryDSL에서의 빌더패턴의 예시 Member findMember = queryFactory.select(m) .from(m) .where(m.username.eq("member1")) .fetchOne(); 쿼리 DSL에서 비슷한 패턴으로 JPQL을 편리하게 이용하는 과정을 목도했는데 Method Chaining이 다소 생소하긴 했는데 이번에 빌더패턴을 공부하게 되면서 좀 더 깊이있는 사고를 하게 된 것 같다. (정확히 말하면 DSL은 메서드체이닝 방식을 이용한거고, 빌더패턴도 메서드 체이닝을 이용해서 구현한 전략이긴 하다.) Builder Pattern 동일한 프로세스를 거쳐서 다양한 구성의 인스턴스를 만드는 방법으로 복잡한 객체를 만드는 프로세스를 독립적으로 분리할 수 있다는 장점이 있다. 이번..

전공/Design Pattern

Design Pattern - Abstract Factory Pattern

추상 팩토리 패턴의 핵심은 팩토리를 사용하는 클라이언트가 구체 클래스에 의존하지 않고, 추상화된 인터페이스에만 의존함으로써 클라이언트 코드의 변경 없이 용이하게 확장이 가능하도록 함에 있다. 즉 이 패턴을 사용함으로써 어떤 클래스의 구체 인스턴스에 접근하는지에 대해 클라이언트 코드는 몰라도 된다. public class WhiteshipFactory extends DefaultShipFactory { @Override public Ship createShip() { Ship ship = new Whiteship(); ship.setAnchor(new WhiteAnchor()); ship.setWheel(new WhiteWheel()); return ship; } } 다음의 코드를 확인해보자 createS..

ProgYun.
'분류 전체보기' 카테고리의 글 목록 (2 Page)