728x90
반응형

재사요 방식의 발전 방향

재사용을 극대화 해주고 생산성, 확장성, 성능, 효과적인 유지보수를 지원해주기 위해 재사용 방식은 다음과 같이 발전항 왔으며 궁극적으로 프레임워크가 등장하게 됨

● 재사용 방식의 발전방향

소스재사용 -> 재사용 메소드 -> 재사용 객체 -> 디자인 패턴 -> 프레임워크

1. 소스 재사용

  • 초보적인 재사용 방식으로 과거에 유사한 문제를 코딩한 적이 있거나 아니면 비슷한 예제를 다른 소스에서 발견했을 때 해당부분을 복사해서 사용

  • 이방식의 문제점 : 이후에 JDK 버전이 바뀌어 동일한 기능을 제공하는 향상된 인터페이스가 나왔다고 하며, 이런 SimpleFormat을 사용한 A, B 클래스를 모두 변경해야 함

2. 재사용 메소드

  • 복사/붙이기 방식과 동일한 코드가 여러 클래스에서 나오는 것을 지양하기 위한 방법으로 C언어에서 하던 것 처럼 자주 이용하는 기능을 라이브러리로 만들어 재사용

  • 이방식의 문제점 : 메소드 재사용 방법은 동일한 작업 영역에서는 유용하게 사용될 수 있으나 작업 영역이 서로 다른 경우, 특정하 기능의 메소드를 사용하기 위하여 다른 작업 영역의 메소드를 사용한다면 유지보수 시 복잡해 질 수 있음

3. 재사용 객체

  • 앞의 재사용 방식들은 비단 자바뿐 아니라 다른 언어를 사용한 개발자들도 흔히 경험한 재사용 방법임. 자바와 같은 객체지향 언어에서 새로 소개되는 재사용 방식이 클래스를 통한 재사용임.

  • 이방식의 문제점 : 구조적인 객체만을 놓고 분석할때는 이와 같이 수직적인 재사용 방식이 유용하나 상황적인 문제를 놓고 보았을 때 다른 접근 방식이 요구됨.

4. 디자인 패턴

  • 예를 드러 인사관리 시스템을 만들 때 구조적 대상을 저장하는 매개자가 관계형 DB로 고정되지 않고 때로는 텍스트파일, XML 등으로 저장되게 하려면 어떻게 할까? 클래스의 재사용 방식이 객체의 수직적인 재사용에 초점을 맞추었다면 디자인 패턴은 위와 같은 상황적인 문제를 해결하여 주는 재사용 방식

  • 디자인 패턴공통적인 로직 문제에 대한 일반화된 해결을 의미. 즉 클래스의 재사용이기보다 해결책의 재사용, 또는 메커니즘의 재사용이라 할 수 있음. 클래스 자체보다는 주어진 상황을 분석하고 그 상황에서 공통적인 조건을 추상화 해서 이를 해결하는 일정한 패턴이 재사용될 뿐이다.

  • 이방식의 문제점 : 디자인 패턴은 전체 애플리케이션의 입장에서 본다면 시스템의 부분적인 문제를 해결하는 것에 불과함

5. 프레임워크

  • 하나의 주어진 상황 문제를 어떻게 해결하는지를 보는 것을 협의의 디자인 패턴 또는 매커니즘이라면, 전체 프로그램을 어떻게 구성할 것인가를 생각하는 디자인 패턴이 바로 프레임워크임

  • 프레임워크디자인 패턴과 같은 부분적인 해결책을 전체적인 관점에서 통합하여 애플리케이션의 설계 및 구현 틀을 제공하는 것으로, 건축설계사에게 기본 설계 템플릿이 있는 것 처럼 프레임워크가 마련되면 애플리케이션 개발 시 시스템의 재사용도가 높아지게 되고 나아가 개발기간과 리소스를 절감할 수 있음

  • 프레임워크란 반제품 상태의 성능 튜닝된 제품을 토대로 도메인 별로 필요한 서비스 컴포넌트를 만들어 삽입하는 형태로 시스템 구축을 도와줌. 이를 통해 기존 컴포넌트의 재사용성이 확대되고 성능 또한 보장 받을 수 있음

728x90
반응형
블로그 이미지

nineDeveloper

안녕하세요 현직 개발자 입니다 ~ 빠르게 변화하는 세상에 뒤쳐지지 않도록 우리모두 열심히 공부합시다 ~! 개발공부는 넘나 재미있는 것~!

,