Center trong lập trình IOS

Khi sử dụng 1 tính năng nhiều lần thì ta nên dùng đến Singleton Pattern để có thể dễ dàng kiểm soát được kết quả, rút ngắn code và trên hết tối ưu hoá cho chương trình.

Trong các trường hợp mà chúng ta sử dụng 1 tính năng chính trong cả chương trình như 1 chương trình  quản lý tiền bạc chẳng hạn. Việc sử dụng phép tính ConvertUSD được thực hiện hàng trăm lần và luôn xét đến trường hợp từ loại tiền mặt này sang loại tiền khác. Việc việc đơn giản là ta tạo ra một LKMoneyCenter chuyên dùng cho việc đổi tiền mặt này.

#import <Foundation/Foundation.h>

@interface LKMoneyCenter : NSObject

{

BOOL lkUSDtoVND;

}

+ (id)lkSharedManager;

– (BOOL)lkGetCurrentMode;

– (void)lkSettingMode:(BOOL)lkMode;

– (float)lkConvertMoney:(float)lkMoney;

@end

* Nội dung file .m

#import “LKMoneyCenter.h”

@implementation LKMoneyCenter

+ (id)lkSharedManager{

static LKMoneyCenter * lkSharedMyManager = nil;

static dispatch_once_t onceToken;

dispatch_once(&onceToken, ^{

lkSharedMyManager = [[self alloc] init];

});

return lkSharedMyManager;

}

– (BOOL)lkGetCurrentMode{

return lkUSDtoVND;

}

– (void)lkSettingMode:(BOOL)lkMode{

lkUSDtoVND = lkMode;

}

– (float)lkConvertMoney:(float)lkMoney{

return lkUSDtoVND ? lkMoney * 21500 : lkMoney / 21500;

}

@end

=> Như vậy ta có thể call ở bất cứ đâu và sử dụng 1 biến để lưu trữ xem nên đổi loại tiền như thế nào.

Project mẫu: https://www.fshare.vn/file/31JF7HHOP8RT

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: