- 浏览: 5254 次
最近访客 更多访客>>
最新评论
-
woodding2008:
真的假的呀
联通干不过移动的真相! -
windshome:
就是这篇对于开发人员,“极简原则”需要修正,请看“新极简原则” ...
对编码、设计中“极简原则”的想法 -
windshome:
刚发现楼主还引用了我的文章,荣幸荣幸。而且文中说到的都是非常现 ...
对编码、设计中“极简原则”的想法 -
yanglphf:
举得例子可能不是很恰当,只是不建议一行写太长,不易读不易理解, ...
对编码、设计中“极简原则”的想法 -
mike.liu:
我倒是觉得那句所谓“极简过度”的语句没什么问题:member. ...
对编码、设计中“极简原则”的想法
文章列表
WebApi设计关键点(个人)
- 博客分类:
- 开发经验
一些API设计心得,记下来,以后有空拿来评测新写的代码
基本:
API名称自描述;
单一职能,针对的是变化的维度,而不是最小功能;
如果同步执行的速度太慢,考虑提供异步执行和可查询结果两个接口(或提供回调功能)
参数:
参数名作为API的补充,自描述;
参数保持最少暴露,方便扩展;
字段的值域,用有意义的单词,禁用0、1、2这样的数字;
返回值:
(待商榷)需要预留,调用状态的成功/失败,和执行结果的成功/失败,两个描述符;
返回错误代码不如返回错误文字描述,毕竟失败就是失败;
windows系统,新建记事本,打开,输入 联通 。关闭后再打开……于是 联通 没有了。
取什么名字不好非得取名 联通 。
还是之前的整合优惠活动的项目所总结的经验。
问题:
传统的web服务,都是通过数据库实现增、删、改、查,model层的javabean,一般都会和数据库某个表一一对应。但这个项目中,我无法通过数据库的查询,实现筛选我想要的数据。
比如一个优惠活动,他有N类限制条件,如酒店名称、入住日期是星期几、刷的信用卡是哪个银行组织,用户是那个等级的,等等。
好吧,这样看还不是很麻烦。当项目进行到一半,发现需求变了,一个优惠活动,有多个收益项目,积分、折扣、代泊车、送电影票,每个收益的限制未必相同。
前段要搞个整合不同行业各类优惠活动的系统,其中计算收益的算法,涉及数据非常多
比如酒店入住送积分,连住几天送积分,满额送积分,某端时间积分翻倍,满多少赠多少,入住N天后免费一晚,满多少钱折扣多少钱……
那么计算积分的表里,就需要有积分数,积分类型(倍数还是固定值还是兑换),兑换用的分母,分母类型(房间量、入住时长、会员积分数……),单位,收益重复次数等等等等
而且因为业务关系,不能拆表,但如果使用宽表,一行记录,大部分数据是空的,可读性非常差,数据项有越来越多趋势。
(插一句,我们用的oracle)
针对这类宽表(一行记录中,有效数据并不多),我的解决办法是把需要和其他表做关联的数据项保 ...
早上刚看了博文《对于开发人员,“极简原则”需要修正,请看“新极简原则”》,有一些想法想说说。
我用了三年的时光维护一个不算简单的系统,窃以为,“极简原则”也好,单一职能原则也好,最根本的目的是 ...
对于维护API的经验,推荐《软件框架设计的艺术》这本书,无论是webService还是Rest还是其他什么,都很有帮助。
不过这书在概念上还是离平时工作太远,知识很精华,但和我的实际工作并不接轨,所以逐渐萌生“把我自 ...
声明:抛砖引玉,期望讨论。
如果已经有类似功能的开源框架等工具,请告知,俺做鬼也不会忘记你滴
本人负责维护一个大型web项目中的其中一个子系统,面对各种session问题,于是有了这个构想
问题:
1.对session的胡乱使用:不论是不是重要数据,都使用session保存;
2.多个子项目session重名,互相覆盖:对于那些喜欢复制/粘贴完成开发的程序员所经手的项目,尤为明显;
于是构想session管理器;
对内:
封装、代理现有session
对信息的存取增加前缀——对不同子项目,对保存的键值对中的key追加前缀,避免重名覆盖;
实现方案1:通过路径,前缀对外部调 ...