我在项目中用到的设计模式

项目: 石材网

用到的设计模式;

1.  工厂方法

工厂方法 一般通过继承来进行实现.

在需求中 ,有许多中不同的网络请求 大部分 返回的数据 作为列表形式展现 因此都有加载更多功能

在后台中 已经为我们做好了分页 我们统一将网络请求以对象的形式进行储存和修改  他们都 继承与RequstUI类 

在该类中有pageSize  和page 属性 在 每个控制器的 网络请求的标识中 都用他们的父类在加载更多中我们只需要修改 他父类的page    用处二 通过统一的父类的 loadCellWithItem: 方法返回不同的cell (有图的 没图片的)

用处三 通过父类方法返回 具体的 代理  

 

2. 在对象创建过程中 使用copy 来避免大量的实例化 仅仅修改一部分值

在请求中通过copy 原有的requstUI  然后修改 他的page 

在copy 之前遵循nscoping 协议   

RequstModel<NSCopying>

 

-(id)copyWithZone:(NSZone *)zone

{ RequstModel_Discuss * item = [[RequstModel_DiscussallocWithZone:zone]init];    item.pagesize = [self.pagesize copyWithZone:zone];

    item.page = [self.page copyWithZone:zone];

 item.commentid = [self.commentid copyWithZone:zone];

    return item;

  }

 

 

posted @ 2014-04-08 18:03  jian啊jian  阅读(745)  评论(0编辑  收藏  举报