본문 바로가기

SW Engineering/Design Patterns4

(Design Pattern) 3. 행위 패턴 보호되어 있는 글 입니다. 2021. 12. 2.
(Design Pattern) 2. 구조 패턴 1. 구조 패턴 (Structural Pattern) 구조 패턴 (Structural Pattern)은 클래스나 객체를 조합하여 더 큰 구조를 만드는 패턴이다. 예를 들어, 서로 다른 Interface를 갖는 2개의 객체를 하나로 묶어 단일 Interface를 제공하거나 객체들을 서로 묶어 새로운 기능을 제공하는 것이 구조 패턴을 사용하는 것이다. 즉, 개체 간의 관계를 실현할 수 있는 간단한 방법으로써 설계를 용이하게 하는 패턴이라고 볼 수 있다. 구조 클래스 패턴은 상속을 통해 클래스나 인터페이스를 합성하고, 구조 객체 패턴은 객체를 합성하는 방법을 정의한다. 1-1. 어댑터 (Adapter) 특정 클래스의 Interface를 다른 Interface로 변환하여 다른 클래스가 사용할수 있도록 하는 패턴.. 2021. 9. 26.
(Design Pattern) 1. 생성 패턴 1. GoF 디자인 패턴 GoF 디자인 패턴은 소프트웨어 공학에서 가장 많이 사용되는 디자인 패턴이다. 유형에 따라 생성 패턴 (Creational Pattern), 구조 패턴 (Structural Pattern), 행위 패턴 (Behavioral Pattern)으로 나뉘어 진다. 또 이 패턴들을 범위에 따라 분류할 수도 있는데, 각 패턴을 주로 클래스에 적용하는지, 객체에 적용하는지 구분한다. 클래스 패턴은 클래스와 서브 클래스 간의 관련성에 대해 다룬다. 주로, 상속을 통해 관련되며 컴파일 타임에 결정되는 정적인 성격을 지닌다. 객체 패턴은 각 객체 간의 관련성을 다루고, 런타임 내에 변경되는 동적인 성격을 지닌다. 아래 그림은 각 패턴들의 종류이다. 2. 생성 패턴 (Creational Patter.. 2021. 9. 19.
(Design Pattern) 소프트웨어 디자인 패턴 지금까지 내가 개발한 방법과 진행해온 프로젝트를 회고해보면서 굉장히 많은 점을 느끼게 되었다. 항상 특정 Activity 안에 모든 코드를 다 집어넣는 식으로 개발을 해왔었고, 프로젝트 규모가 커지고 에러가 생겼을 때는 어느 부분에서 에러인지 찾다가 스트레스를 받는 경우도 빈번했었다. 더욱이 협업을 하게 된다면 다른 사람이 내 코드를 봤을 때 가독성도 좋아야 할 것이고 이해도 빨라야 할 텐데 그럴 자신이 없었다. 이렇게 반복되는 문제들 때문에 더욱이 디자인 패턴에 대한 공부의 필요성을 몸소 느끼게 되었다. 디자인 패턴은 `소프트웨어 공학'의 한 개념이다. 소프트웨어 설계 시 특정 맥락에서 발생하는 고질적인 문제들을 효율적으로 해결하기 위해 설계된 해결책이며 또, 이러한 문제들이 지속적으로 발생할 때 재사.. 2021. 9. 19.