총 게시물 62건, 최근 0 건
   
[숙제]ActionScript 3.0 객체지향프로그래밍(OOP) 5대 원칙
글쓴이 : 지용호 날짜 : 2008-12-16 (화) 15:15 조회 : 8862

재사용/유지보수를 극대화를 위해 다형성, 추상화 개념이 들어간 객체지향프로그래밍을 이용한다.

 

객체지향프로그래밍(OOP) 5대 원칙도 마찬가지입니다. 결국 재사용/유지보수를 위해서 필요한 원칙입니다. 이런 원칙을 잘 지키는 것은 초보 개발자에게 무척 어려운 일이기도 합니다. 왜냐하면 이해와 설계과정이 함께 들어가는 것이기 때문입니다. 하지만 지속적으로 적용하고 몸에 베면 그리 어려운것만은 아닙니다.

 

[공부]

http://muticd.com/lec/director/viewBody.php?t_Name=Lec_drbook2

11, 12 동영상을 학습한다.

 

 

[과제]

 

1. 인터페이스(Interface), 추상 클래스(Abstract Class), 구상 클래스(Concrete Class)

1.1 인터페이스란 무엇인가?  

1.2 추상클래스란 무엇인가? 추상클래스의 역할을 정확히 언급하라. 인터페이스와의 차이점을 언급하라.

1.3 구상클래스란 무엇인가?

1.4 AS3에는 추상 클래스의 키워드로 abstract가 없다. 그러나 실제 설계시에는 추상클래스 역할을 하는 클래스가 필요한 경우가 많다. 이런 경우에 대한 적절한 예제를 들고 Class Diagram을 작성하라. (단,추상클래스는 직접 사용할 수 없도록 해야한다.)

1.5 1.4에서 만든 추상클래스를 가지고 구상클래스를 3가지 이상 예제를 들고 Class Diagram을 작성하라.

1.6 1.4, 1.5에서 만든 추상클래스와 구상클래스를 가지고 문제없이 사용할 수 있다. 하지만 다중상송의 경우 문제가 발생할 수 있다. 이런경우 예를 들고 왜 인터페이스-추상클래스-구상클래스를 셋트로 설계하는게 좋은지 설명하라.

 

 

2. Open-Close 원칙 (OCP, 개방-폐쇄의 원칙)

2.1 OCP원칙에 의하면 확장 상속(is-a)에 관해서 어떻게 하나?

2.2 OCP원칙에 의하면 합성 상속(has-a)에 관해서 어떻게 하나?

2.3 OCP원칙에 따르기 위해 Class를 어떻게 설계해야하는가?

2.4 OCP 원칙에 맞지 않는 예를 Class Diagram으로 표현하라.

2.5. OCP 원칙에 대한 적절한 예를 Class Diagram으로 표현하라.

 

 

3. The Liskov Substitution 원칙(LSP, 리스코프 치환 원칙)

3.1 LSP 원칙에 대해 설명하라

3.2 LSP 원칙에 맞지 않는 적절한 예를 Class Diagram으로 설명하라.

3.3 LSP 원칙에 맞는 적절한 예를 Class Diagram으로 설명하라.

 

4. The Dependency Inversion 원칙(DIP, 의존 관계 역전 원칙)

4.1 DIP 원칙에 대해서 간단하게 설명하라.

4.2 DIP 원칙에 맞지 않는 예제를 Class Diagram으로 설명하라.

4.3 DIP 원칙에 맞는 예즈를 Class Diagram으로 설명하라.

 

5. The Interface Segregation 원칙(ISP, 인터페이스 격리 원칙)

5.1 ISP에 대해서 간단히 설명하라.

5.2 ISP에 맞지 않는 예제를 Class Diagram으로 설명하라

5.3 ISP에 맞는 예제를 Class Diagram으로 설명하라.

 

6. The Single Responsibility 원칙(SRP, 단일 책임의 원칙)

6.1 SRP에 대해서 간단히 설명하라.

6.2 SRP에 맞지 않는 예제를 Class Diagram으로 설명하라.

6.3. SRP에 맞는 예제를 Class Diagram으로 설명하라.

 

[참고서적]

Flex/AIR Bible (대림, 윤훈남저)

액션스크립트 3.0 디자인 패턴(에이콘, 조이로트.대니 패터슨 저) 

 

이들에 대해서 학습을 완료하면 재사용/유지보수를 위해 아래와 같은 작업을 해야할 것을 느낄겁니다.

 

1. 인터페이스 또는 추상클래스로 설계한다.

2. 참조시 인터페이스 및 추상클래스를 참조해야한다.(의존성을 줄임)

3. 인터페이스나 추상클래스는 확실한 자기 역할을 부여해라.(유지보수,확장성 향상)

 

OOP 5대 원리 및 다양성, 추상화 과정에 대해서 이해하고 계속 적용할려고 노력하는 것은 개발의 삽질을 줄여주는데 반드시 필요한 부분입니다. 처음에는 머리 아플지 모르지만 예전보다 이쁘게 만들어진 자신의 프로그램을 보며 웃을날이 분명 올것입니다. ^^

 

객체기반프로그래밍(OBP, object based programming)이 아닌 객체지향프로그래밍(OOP, object oriented programming)을 하시기 바랍니다. 


   

총 게시물 62건, 최근 0 건
번호 제목 글쓴이 날짜 조회 추천
62  [Flash 3D]토성 그리기 지용호 07-10 7686 0
61  Adobe RIA 오픈캐스트 개설! 지용호 07-10 6717 0
60  플렉스빌더 an error has occurred. see the log file 에… +3 정재원 06-06 7004 0
59  EarthBrowser : Adobe AIR 프로그램 소개 +1 지용호 02-13 8219 0
58  설 연휴 즐겁고 편히 잘 보내세요^^ 윤연식 01-23 5887 0
57  rss 리더기 비밀번호 입력 안상주 12-17 11979 0
56  [숙제] ActionScript 3.0 클래스 관계 및 설계 +2 지용호 12-16 9597 0
55  [숙제]ActionScript 3.0 객체지향프로그래밍(OOP) 5… 지용호 12-16 8863 0
54  [숙제]ActionScript 3.0 의 이벤트(Event) 지용호 12-09 9498 0
53  폰트 유니코드 변환기(Font unicode converter) +2 지용호 12-03 10987 5
52  프로젝트 게시판을 이동합니다. 이형철 11-16 8860 19
51  [Flex,Javascript] 다중 파일 업로더 (Multi file upload… +3 지용호 10-25 13356 47
50  Flex로 만든 이쁜 PocketMod +3 지용호 10-22 9408 57
49  가끔씩 잊지 않도록 글 남깁시다~~~ +4 이광우 10-16 6924 57
48  조금만 기달려 주세요... +1 윤연식 10-14 12515 52
 1  2  3  4  5  맨끝
 
Since 2001.2.7 과학기술정보통신부 등록 비영리민간단체 천문노트. Copyright All rights reserved.
단체명 : 천문노트  |    고유번호 : 101-82-15888  |    대표자명 : 김태욱, 조우성  |    주소 : 138-804 서울특별시 송파구 가락동 93 금강빌딩 7층 710호  |    전화 : 02-543-3295  |    Fax : 02-6918-6888  |    통신판매신고번호 : 종로 제01-5696호  |    개인정보관리책임자 및 사이트관리자 : 지용호