지난 글에서 AppDelegate가 비즈니스 로직을 담당하고 View단의 클래스는 모두 AppDelegate를 통해서 접근 가능한 패턴을 설명해드렸습니다.
이번에는 지난 글에 보충하여 View 클래스를 어떻게 관리하고 접근하는 지에 대해 설명하고자 합니다.

대부분의 View는 IB로 만든 xib형태의 파일과 이를 참조하여 초기화하는 View Controller로 구성되어 있습니다. 이들 View Controller는 한 번 초기화한 이후로 재활용하는 경우가 많아서 객체의 멤버 변수로 저장하고 재사용하게 되는데 이들 변수의 위치가 고민스러웠습니다.

어디에든 이들 View Controller를 접근할 수 있다면 많이 편하리라 생각이 들어서 View만 전담하는 클래스를 작성하는 패턴을 생각해봤습니다.
ViewFactory라는 클래스는 AppDelegate의 applicationDidFinishLaunching 정도에서 초기화되고 AppDelegate를 통하여 접근하도록 하여 어디에서나 ViewFactory를 이용하여 View Controller를 초기화하고 재사용할 수 있도록 합니다.

대략 아래와 같은 형태가 될 것입니다.

AppDelegate.h
@interface AppDelegate : NSObject <UIApplicationDelegate> {
    UIWindow *window;
    id viewFactory;
}

@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) id viewFactory;

@end

AppDelegate.m
@interface AppDelegate()
- (void)initializeObjects;
@end


@implementation AppDelegate

@synthesize window;
@synthesize viewFactory;

- (void)applicationDidFinishLaunching:(UIApplication *)application {   
    [window makeKeyAndVisible];
    [self initializeObjects];
}

- (void)dealloc {
    [viewFactory release];
    [window release];
    [super dealloc];
}

- (void)initializeObjects {
    viewFactory = [[ViewFactory alloc] init];
}


ViewFactory 클래스는 해당 App에 사용되는 대부분의 View Controller 및 아이콘 등을 초기화하고 필요할 때마다 가져다 쓸 수 있도록 하게 됩니다.

여기서 최초 진입점은 AppDelegate이고 AppDelegate에서 얻어온 ViewFactory 인스턴스를 통하여 원하는 View Controller의 인스턴스를 가져오게 됩니다. 그리고, 가급적이면 명시적인 클래스를 사용하지 않고 id를 사용하여 코딩시 import 문제를 줄일 수 있도록 합니다. 단, 성능 문제가 있으므로 적절하게 조절하여 사용하시면 되겠습니다.

개발하면서 정리하는 과정이라 불완전할 수 있습니다. iPhone 개발자 여러분들의 피드백도 기다리겠습니다.
저작자 표시 비영리 변경 금지

용봉정 근린공원에서 바라본 한강 야경

사진과삶 2008/12/14 23:28 Posted by 종이비행기
날씨가 많이 포근해지긴 했지만 야경 촬영하기엔 여전히 추웠습니다.
회사일 마치고 가느라 기본적으로 챙겨야할 장갑이나 옷을 제대로 챙기지 않았기 때문이기도 했지만, 시간이 지나면 지날 수록 점점 더 추워져서 촬영에 어려움이 많았습니다.
다음에는 준비를 단단히 하고 가야겠습니다. 오랜만에 회사 직원들과 지인과 함께 한 출사로 즐거운 하루를 마감할 수 있었습니다.

공원이라 하기에는 규모가 작았지만 경관은 훌륭했습니다. 시야를 가리는 나무들로 인해 그 훌륭한 경치가 반감되는 기분은 들었습니다만.


저작자 표시 비영리 변경 금지

길 : 보라매공원 12월 겨울길

사진과삶 2008/12/14 23:19 Posted by 종이비행기
농심 근처에 있는 보라매 공원의 점심 시간 풍경을 담아봤습니다.
점심시간이면 주변 회사의 회사원들로 인해 많은 사람들을 볼 수 있습니다.
바쁜 일상 가운데 조용히 산책을 하며 고즈넉한 기분을 느낄 수 있어서 좋습니다.


저작자 표시 비영리 변경 금지