내 프로젝트 중 하나에서 디자인 레벨 질문이 있습니다. 저는 REST를 사용하여 객체를 가져와야하는 프로젝트를 진행하고 있습니다. 예를 들어 고객을 가져와 목록에 표시한다고합시다. 고객에 수행 할 수 있습니다데이터베이스 레이어 디자인
다음 작업은
- 는
그래서 내가 'CustomerManager'라는 이름의 클래스를 포함 생각 고객 삭제 고객
, 나는 내가 디자인 수준의 질문을 얻을 때까지,
Customer * manager = [Customer sharedManager];
[manager addCustomer:customer];
//fetch customer
[manager customers];
//While deleting
[manager deleteCustomer:customer];
모든보고와 잘 작동이처럼 만드는 데 사용, 이유가 있던 중간 관리자. 모든 작업은 Customer Object에서 수행되었으므로 아래와 같이 Customer Class에서 모든 고객 관련 작업을 수행해야합니다.
@interface Customer
+ (BOOL)addCustomer:(Customer *)customer;
+ (BOOL)deleteCustomer:(Customer *)customer;
+ (BOOL)updateCustomer:(Customer *)customer;
+ (NSArray *)customers;
@end
여기서 문제는 별도의 클래스에서 네트워크 관련 코드는, 내 모든 모델 클래스에서 내 네트워크 관리자의 구체적인 기준이 필요에도 불구하고있다. 혼란 스럽지만 선택할 수있는 하나.
가장 좋은 방법은 무엇입니까?. 이에 대한 자세한 답변을 드리고자합니다.