본문 바로가기
정보관리기술사/★ 129회 기출문제 풀이 ★

(129 관리 2-6) 리팩토링, 디자인 패턴

by 두음달인 2023. 3. 7.
반응형

 

객체지향의 기법 중에는 리팩토링(Refactoring)과 디자인패턴(Design Pattern)이 있다.
두 기법을 각각 정의하고 공통점과 차이점에 대하여 설명하시오.

2023.03.05 - [(Pilot) 탑기공/소프트웨어 개발] - [탑기공] 리팩토링(Refactoring), 코드스멜(Code Smell)

 

[탑기공] 리팩토링(Refactoring), 코드스멜(Code Smell)

멘토링 블로그를 통해서 여러 번 강조한 것 같은데, 기술사 공부에 있어서 탑싯(TOPCIT)은 필독서라고 생각합니다. 꼭 시간내서서 정독 해보시길 권해 드립니다. 가) 리팩토링 개념 ① 리팩토링 개

peimsam.tistory.com

 

2023.03.06 - [(Pilot) 탑기공/소프트웨어 개발] - [탑기공] 디자인 패턴(Design Pattern)

 

[탑기공] 디자인 패턴(Design Pattern)

가) 디자인 패턴 개념 소프트웨어 설계의 특정한 맥락에서(in a context) 반복해서 해결해야 할 문제(recurring problem)에 대해서 일반적이고 재사용이 가능한 해결 방법 디자인패턴 분류 [두음] 생구행

peimsam.tistory.com

 

리팩토링과 디자인 패턴의 공통점

 

리팩토링(Refactoring)

 

소프트웨어의 외부적 기능은 수정하지 않고 내부적 구조 및 관계를 단순화하여
소프트웨어의 유지보수성을 향상해 품질을 높이는 활동

 

디자인 패턴 (Design Pattern)

 

소프트웨어 설계의 특정한 맥락에서(in a context)
반복해서 해결해야 할 문제(recurring problem)에 대해서
일반적이고 재사용이 가능한 해결 방법

 

▷ SW 개발 생산성 향상, 유지보수 용이, SW 확장성 및 유연성 제고, SW 품질 보증, 사용자 만족도 제고 등 등

 

리팩토링과 디자인 패턴의 차이점

 

내용도 중요하지만, 해설지에 3단 표로 그룹핑해서 정리한 내용이 너무 잘 되어 있는 것 같아서 포스팅해 봤습니다.

 

항목 리팩토링 디자인 패턴
목적 - 유지보수성, 가독성, 성능 향상 - 설계 및 개발 생산성 향상
적용 범위 - 소스코드의 정련 및 정제 - 반복되는 문제점 해결
적용 대상 - 소프트웨어 내부 구조 및 로직 - 반복적인 문제 패턴 적용
적용 단계 - 운영 및 유지보수 단계 - 상세 설계에서 구현, 유지보수 단계
수행 주체 - 개발자, 운영자 - 설계자, 개발자
활용 - Agile, TDD 등 - 객체생성 및 웹 APP 구현

- 디자인패턴은 리팩토링에 비해 상위 수준에서 SW 설계 및 구현, 리팩토링은 하위 수준에서 코드 정제 사용

출처: KPC 해설지

 

참고 자료

 

 

반응형

댓글