본문 바로가기

Study39

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.
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.