scaleform.minarto.com

라이브러리를 통한 런타임 공유시 ApplicationDomain 내의 클래스 충돌 3 본문

Core

라이브러리를 통한 런타임 공유시 ApplicationDomain 내의 클래스 충돌 3

미나토 2012. 7. 31. 19:10




5월 13일자 http://scaleform.minarto.com/352 글에서 이어집니다





0. A/S 까지 해주는 친절한 미나토 씨




좀 오래전에 쓴 글이긴 한데요... 몇몇 추가할 거리가 생겨서 몇마디 더 해보려고요...


나름 최고 인기글(?)이었던 지라... ㅎㅎㅎ (전체적으로 별로 인기가 없는 블로그이다보니... 쩝...)




앞선 글을 통해서 "런타임 공유시 상위 형변환을 이용해서 선언하라" 라고 말씀을 드렸습니다.



여기에다가 as를 할 것을 추가해보려고요... 해당 글에서 오류가 있기 때문입니다.

제가 출판할 책을 쓰는 것도 아니고, 글을 쓸 때 일일히 검증하고 테스트 해가며 쓰는 것이 아닌지라... ㅡ.,ㅡ;;;



최근에 드디어 저도 회사에서 as3 작업을 하기 시작했는데요... 그러다 보니 몇가지 사실을 더 알게 되었습니다.

이미 말했듯 저도 플래시 IDE 작업이라던가, 런타임공유 방식에 익숙치가 않아요 ㅎㅎㅎ

(그래도 남보단 낫다고 생각했지만... ㅋ~)



문제는 한참 전에 알았지만, 아시는 분은 아시다시피 제가 블로그 포스팅 방식을 좀 바꿔버려서리...(매주 월요일 아침에 한번씩 올리는 식으로)

디아3에 빠져서 쌓아놓기만 했던 글들을 올리다 보니 차례가 계속 미뤄져버렸습니다.





뭐, 어쨌든 각설하고... a/s 글이라 이번은 좀 짧을 수도 있지만...





세상 일이 다 그렇듯 모든 일에는 좋은 것이 있으면 나쁜 것이 있는 법입니다.






1. 등가교환의 법칙




그래서 이 방법에서 파생되는 안좋은 점도 말씀드려보도록 하겠습니다.



1. 에디터에서 자식 클래스의 코드 힌트를 사용할 수 없다


2. 커스텀 인스펙터블 리스트를 쓸 수 없다 (in as3)




1번은 뭐 전에도 언급했던 문제고 어떻게 보면 당연한 현상입니다.

이건 문제라기 보다는 불편함이라고 봐야할 겁니다.


하지만 추가 속성은 그렇게 많지 않을 거라고 고려할 때, 어느정도 감수할 수 있는 불편이라고 봐야하죠...



이제 오늘 말할건 2번입니다.


2번을 제가 빼먹었던 겁니다. 라기 보다는...

최근에는 제가 근 1년 정도 as2 개발만 하다보니, as3를 많이 잊어먹고 있어서리...



커스텀 인스펙터블 리스트를 사용하면 as3 에서는 오류가 생겨버립니다.


접근할 수 없는 속성에 접근한 셈이 되어버리거든요.



상위 클래스로 형선언을 했기 때문에 존재하지 않는 속성으로는 접근할 수 없는 겁니다.


물론 상위 클래스로 형선언을 하지 않고, 그냥 원래 클래스 대로 선언하면 사용하는데 문제가 없습니다.




하지만 앞선 글들에서 말한 클래스 충돌은???





2. 그 다음은 각자의 손에...



자, 그럼 어떻게 개발을 해야할까요...



1. 커스텀 인스펙터블 리스트를 안쓸 수도 있을 겁니다. 하지만 디자이너 분의 요구가 자주 바뀐다면???


2. 중간에 래핑 클래스를 하나 만들고, 그걸 사용할 수도 있을겁니다. 하지만 자꾸 상속이 반복되겠죠???



여기서부터는 각자의 손에 맡기도록 할게요...



어느 정도 해답은 나왔다고 생각합니다. 저는 1번을 선택할거예요 아마... ㅎㅎㅎ



하지만 해당 프로젝트의 해당하는 적절한 방법을 선택해야겠죠??