Object-Oriented Design with MATLAB - MATLAB & Simulink

MATLAB 및 Simulink 교육

Object-Oriented Design with MATLAB

일정 보기 및 등록

교육과정 세부 정보

코드 베이스는 요구사항이 변하고 복잡도가 증가함에 따라 시간이 갈수록 관리하기가 어렵습니다. 객체 지향 코드를 명확한 역할과 최소화된 상호 의존성을 갖는 클래스 집합으로 재구성함으로써 코드의 유지 관리성과 확장성을 높이는 방법을 알아봅니다. 관리하기 까다로운 코드 프로젝트의 근본 원인을 이해하고 일반 설계 원칙을 따름으로써 그 근본 원인을 방지하는 방법을 배웁니다. 특정 설계 패턴을 채택하여 흔히 발생하는 설계 문제를 해결하고 위험 요소를 피합니다. 교육이 진행되는 동안 사용 사례, 실례 및 실습형 연습문제를 통해 개념을 설명합니다. 또한 새로 도입된 개념과 설계 아이디어를 시각화하기 위해 UML 클래스 다이어그램을 사용합니다. 본 교육과정에서 다루는 주요 내용은 다음과 같습니다.
 
  • 객체 지향 설계 원칙을 적용하여 유지보수가 용이하고 확장성이 좋은 소프트웨어 작성.
  • 검증된 설계 패턴을 사용하여 소프트웨어 설계 문제 효율적으로 해결.

1일차


객체 지향 설계 원칙

학습목표: 입증된 지침을 따라 애플리케이션의 유지보수, 유연성, 확장성을 향상시킵니다.

  • 별개의 클래스로 변경될 가능성이 높은 코드를 추출하여 자주 변경되는 코드를 캡슐화하는 방법 알아보기
  • 클래스에 메서드를 추가하거나 상속하는 것보다 구성하는 것이 더 좋은 이유 경험
  • 데이터 저장 시 핸들을 사용할지 아니면 값 클래스를 사용할지 결정
  • 하나의 신 객체(God Object)를 사용하는 것을 피하고 단일 책임 원칙을 사용해야 하는 이유
  • 개방 폐쇄 원칙, 즉 확장에는 코드가 개방적이지만 수정에는 코드가 폐쇄적이도록 계층 구조를 사용하는 방법 
  • 리스코프 치환 원칙, 즉 새 기능을 추가하고자 할 때 서브클래스를 사용해야 하는 이유(불필요한 기능을 제거하고자 할 때는 아님) 
  • 인터페이스 분리 원칙, 즉 몇몇 작은 추상 클래스를 통해 코드 재사용을 손쉽게 하는 방법
  • 의존성 역전 원칙, 즉 구체 메서드나 속성이 아닌 추상 메서드나 속성을 사용하여 코드 유연성을 높이는 방법

2일차


설계 패턴

학습목표: 설계 패턴으로 정의된 기존의 클래스 집합과 클래스 관계 집합을 사용하여 흔히 발생하는 소프트웨어 설계 문제를 효율적으로 해결합니다.

  • 퍼블릭 프라이빗 속성 쌍 – 두 속성의 길이가 항상 같도록 하는 데 유용한 패턴
  • 옵저버(Observer) – 한 클래스가 다른 클래스의 수정에 자동으로 반응할 수 있도록 해주는 패턴. 앱의 실시간 데이터 표시에 이상적임
  • 템플릿 메서드(Template Method) – 서로 다른 알고리즘 버전이 항상 동일한 스텝을 따르도록 보장하는 패턴. 이때 스텝 자체는 서로 다를 수 있음
  • 전략(Strategy) – 서로 다른 알고리즘 버전을 또 다른 알고리즘에 연결하는 데 유용한 패턴
  • 심플 팩토리(Simple Factory) – 규칙을 기반으로 특정 서브클래스의 객체를 생성하기 위한 패턴
  • 싱글톤(Singleton) – 특정 클래스의 객체가 단 하나만 있도록 보장하는 패턴. 앱의 인스턴스를 단 한 개만 개방하도록 하는 데 이상적임
  • 어댑터(Adapter) – 레거시 코드 사용을 가능하게 하는 등의 목적으로 알고리즘의 사용자 인터페이스를 수정하기 위한 패턴
  • 퍼사드(Facade) – 몇몇 객체와 스텝이 필요한 복잡한 알고리즘을 캡슐화하는 패턴

수준: 고급

수강자 필수조건:

Object-Oriented Programming with MATLAB 이수 또는 MATLAB의 객체 지향 프로그래밍 지식.

기간: 2 일

언어: English

일정 보기 및 등록