最近开心001挺火的,偶从网上下载了一份开心网助手的源码,感觉写得挺好的,借此机会学习一下。
其中的三层架构控制得很好,把业务逻辑和数据操作分开,思路清晰,便于做版本更新、bug修改。
2009-7-6
今天学习了发送请求部分,知道了怎么向服务器发送请求。
这段代码真是太强大了。
2009-7-17
分析网页代码,用到了正则表达式,并利用System.Net.Jscript计算javascript函数结果。
2009-7-20
今天写到了抽象出业务逻辑层,使逻辑更清楚。
一. 数据层
1.1 用户信息模块
1.1.1 用户类(User)
功能:存储用户信息。
二.数据实体层
2.1 用户信息模块
2.1.1 用户信息实体(UserInfoEntity)
功能:存储用户本次登陆的个人信息,如:账户,家乡,系统消息等。
2.2 争车位模块
2.2.1 好友信息实体(CarUserEntity)
功能:存储已添加争车位组件的所有好友的基本信息(如id,名称)和停车位信息(如场景名称)。
2.2.2 车辆信息实体(CarEntity)
功能:存储车辆的所有信息,如:汽车编号,汽车价格,车位编号,预计收入等。
三.SNS逻辑处理层
3.1 通用类
3.1.1 开心网操作基类(Kaixin)
1) doPost方法:
原型:public WebResponse doPost(string url, string postData)
通过请求地址:url和请求参数:postData向服务器发送请求,通过分析相应获取用户的开心网注册ID。
2) ResponseToString函数:
功能:根据响应返回字符串
原型:protected string ResponseToString(WebResponse response)
3.2 各组件类
3.2.1 争车位信息操作类(ParkingHelper)
功能:处理停车、贴条等动作。
主要函数:
1) getFriends函数
功能:获取已添加争车位组件的所有好友。
原型:public Dictionary<string, CarUserEntity> getFriends()
2) getMyCars函数
功能:获取用户自己的车辆信息。
原型:public virtual List<CarEntity> getMyCars()
四. 逻辑处理层(BLL)
4.1 争车位逻辑处理部分(BParking)