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 数据。
求问这种写法有什么问题?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.