1.MVC我先说模型,共有20几张表,支持数据迁移。BaseInfos(基本资料),DetailInfos(详细资料),LoveViews(恋爱观)应该是做到一张User表中的,脑抽的我把他们分成了三张表,因为他们是分别存储的。下载之后,改成你自己的数据库,运行就能创建新表了。
3.视图:主要是基于Bootstrap2,Jquery1.7.2.,form.js注册的日期控件和Topic的编辑器用的是KendoUi,小伙伴们可以去换成Ckeditor,而Bootstrap用的地方主要是在
Layout的导航,后台导航,举报、私信、图片上传的模态对话框,在主页面使用它的栅格比较少,因为老是和导航对不齐,就放弃了。或许是我用的不对。Jquery用来交互,获取数据。form.js用的比较多,很多地方是form提交,没有用MVC自带的Create。原因就是不好看,而且不好控制,ie下面会走样。
二、前端特别说明
这里特别要说明的就是一些函数和窗口的触发
1.图片上传和举报框。
在用户主页的视图和PersonalInfo视图中会有这两个相似的html代码,是用来触发图片上传框的。
生成的图像如下:
举报也同样的做法:但举报需要提供更多的信息,所以加了很多data属性。用脚本触发对话框
我想大家也明白了,就是这样的一回事,脚本没有压缩,大家可以去看。其他像喜欢,私信,都是一个道理,定义好一个样式,主要是样式名称,在layout里面写脚本,这样就很方便了。
2.form提交:
用form.js,能很好的控制整个提交过程,BeginForm,隐藏的form,图片上传的form。
编辑基本资料:
这样的方式用了很多,脚本基本上是下面这样,还可以加上beforeSend,complete.其他项获取json数据这些,就是家常便饭了,没什么说的。
二、后台逻辑
其实这个部分是最没有含金量的,只要大家清楚业务流程了,逻辑再怎么也能写出来。我也没有用AOP来记录日志或者处理异常,用IOC/DI来解耦。这也是我的弱点。所以我就简单说明下。
1.符合基本条件的用户:因为是相亲交友,所以要筛选用户。在BaseController中有个GetBaseUsers
158以上,江苏,22岁以上。那出现在这两个页面的用户就必须满足这三个条件是硬性指标,但学历,薪水是可以不匹配的。所以在推荐页面是这样的:
3.推荐度和热度
计算推荐度,就是看两者资料的匹配度,而热度大家可以去看模型就知道了,就是统计数据再综合排名。换成百分率。
三、数据层
1.LoveDb仓库,像单例模式,获取实例,用反射封装了Add,Delete,One,All等常用方法。
四、问题和扩展
大大小小的问题还是蛮多的,兼容性的,脚本的,逻辑的,性能的,结构的。这些都还要慢慢的改。所以有问题不要惊奇,是很正常的。像上传和文本编辑应该换uploadfy和ckeditor控件。这个版本还么有加入分页,或者换成流行的滚动加载。增加一些好玩的功能,这些就要看你们的了,尽情的去折腾吧。小丘比特谢谢你!
祝你幸福~
五、说下开源
CodePlex和gitHub合作了,CodePlex可以用git上传,而git也变成了这个windows风格:方便大方好用。
在github的工程名称叫FindLover(说DreamLover更合适些吧),因为FindLover是先取的,名字想了很久才叫意中人。
总结下:现在MVC5已经出来了,我还在看MVC4,EntityFrameWork6也来了,还有VS2013,.NetFrameWork4.5。Bootstrap也到3了。Html5动画研究的还不咋地,还有各种前端的,后端的框架,目不暇接,人艰不拆啊。
新的技术提供了一些更好的方式,但是你更需要的是一个方向,一个ideal,几个一条路上的小伙伴。
(因为昨天推的时候少退了一个packages,里面有一些引用导致大家可能下载了不能马上用像Niniject,Nlog,Kendo.Mvc等等。有的是可以删掉的,之前做测试引用过,忘记拿掉了。晚上我会把那个包推上来。)