
Model - Entity (具体的业务实体,如 User,Friend,Book) - MemoryCache (单例类,存储所有的内存数据,但不做任何数据相关操作) @property (nonatomic, strong) User *accountUser, @property (nonatomic, strong) NSMutableArray<Friend *> *friendList; @property (nonatomic, strong) NSMutableArray<Book *> *bookList; - Service (具体的业务类,全部为静态方法) UserService (+ userId, + userName, + userCoin, + requestModifyName) FriendService(+ addFriend, + deleteFriend, + requestFriendList) BookService(+ buyBook, + deleteBook) 我将数据全部存储在 MemoryCache 中,这样就可以做到应用中仅有一个单例存储内存数据,Service 中全是静态方法,VC 调用 Service 层。当账户切换时,可以将全部数据直接清空。 如果每个 service 写成一个单例,那么比如 buyBook 之后 扣除 accountUser 中的金币,就会涉及单例调用另一个单例的情况。我认为这种调用多了之后比较混乱。如果是我这种做法,就可以直接在 BookService 中操作 accountUser 数据。 求问这种写法有什么问题? 1 loveuqian 2017-07-15 14:56:32 +08:00 这个 app 没有后台的吗? |
2 queuey 2017-07-15 15:11:17 +08:00 1.看你这需求 Service 并没有写成单例的必要 2.既然 service 全部为类方法,为何不考虑给每个业务实体增加一个 category,专门用来提供可视数据。 3.如果你的数据全部通过 service 来调用,为何 bookList 设置成 Mutable,而不是 NSArray,属性为 readonly。 |