본문 바로가기

분류 전체보기52

Enterprise Application Integration (EAI) 상황에서의 디자인 원칙 1. 데이터 수준의 통합을 위한 인터페이스 한 곳에 데이터베이스를 두고 모든 애플리케이션이 데이터베이스를 통하여 정보를 주고받는 것. 이 때 데이터베이스는 하나의 애플리케이션들이 정보를 교환하는 일종의 인터페이스가 된다. ('Shared repository' 패턴) [그림1] 데이터 수준의 통합을 위한 인터페이스 - 장점 단순하고 빠르게 시스템 통합을 구축할 수 있다. - 단점 여러 다른 애플리케이션이 통합되기 위해서 중앙에 데이터 수준의 통합을 위한 인터페이스를 두고 모든 애플리케이션 이 이 인터페이스에 맞춰야 한다. (확장이나 변경의 자유도가 떨어진다.) 데이터베이스가 변경이 될 경우 모든 애플리케이션이 같이 변경되어야 하는 위험이 있다. 여러 애플리케이션이 원하는 인터페이스를 구축해야 하기 때문에 .. 2009. 8. 31.
객체지향 소프트웨어 설계의 원칙들 Contents 1. 배경 2. 개방-폐쇄 원칙(Open-closed principle, OCP) 3. 단일 책임 원칙(Single Responsibility principle, SRP) 4. 인터페이스 분리 원칙(Interface Segregation Principle, ISP) 5. 리스코프 원칙(Liskov Substitution Principle, LSP) 6. 의존 관계 역전의 원칙(Dependency Inversion Principle, DIP) 1. 배경 소프트웨어 설계에 있어 객체와 객체간의 유기적 관계를 효과적으로 구성하는 것은 유지보수 및 관리에 있어 상당히 중요하다. 하지만, 요구사항 변경과 그로 인한 의존성 관리가 불가피해 짐에 따라 설계가 다음의 네 가지 증상을 보이며 무너지는 것.. 2009. 8. 25.
[Book] 아웃라이어 우리는 가끔 우스갯소리로 '사람은 시대를 잘 타고 나야 해' 라고 말은 하곤 한다. 나도 가끔 , 만약 내가 저 때 태어났더라면 갑부가 될 수 있었을 텐데라는 망상에 빠지곤 하는데(빌게이츠가 되어 보기도 하고, 아인슈타인이 되어 보기도 한다) 결국은 이런 생각 할 시간이 있으면 좀 더 열심히 달리자는 채찍질의 시발점이 된다. 저자는 이리저리 예시를 들면서 설명을 하고 있지만, 결국은 우리가 다 아는 내용들이다. 즉, 알고 있는 내용이지만 "실천하지 않아" 문제가 되고 있는 것들이다. 시대도 잘타야 되지만, 환경도 잘 갖춰져 있어야 하며, 무엇보다 자기 스스로가 기회를 알아볼 수 있는 안목을 갖춰야 하고, 한 곳에 미칠듯 빠질 수 있는 소위 '미친' 집중력을 가진 바보라야 한다. (여기서 1만시간의 법칙이.. 2009. 8. 6.
AOP 란 무엇인가? Contents 1. 정의 2. 등장 배경 3. Crosscutting Concerns 4. Concern 분리 5. Crosscutting Concern 모듈화 순서 (AspectJ 예) 6. Weaving 방법 분류 7. 장점 1. 정의 AOP는 Aspect-Oriented Programming 의 약자로 관점 지향 프로그래밍이라 한다. AOSD (Aspect-Oriented Software Development) 의 한 측면을 표현한다. 2. AOP 등장배경 절차지향 프로그래밍 → 객체지향 프로그래밍 (OOP) : 유지보수성과 확장성 & 관점지향 프로그래밍 (AOP) : 객체지향적인 프로그래밍을 지향하면서 유지보수를 좀 더 편리하게 하기 위한 방법 컴포넌트계의 구루(guru)들이 이야기하는 중요한 .. 2009. 8. 5.