契约式编程就是说在开发中规定一套变量,函数以及数据的规则,所有代码都遵循此规则进行开发.这种方法其实是无处不在的.因为所有的代码都是有规则的.这些规则都可以称之为契约.
笔者在进行一些开发之后,对于web开发中的数据查询,数据更新,数据条件的通讯,痛恨之极,因为要根据需求的不同细致按照行为的不同去分别用不同的方法处理这些数据.比如有这样的数据传向后台
{
name:"you",
pw:1234
}
仅仅看这些数据,我们无法认定这些数据是让后台查询的还是更新的.因为这和对应的行为有关,
如果行为是login,那应该是查询,如果行为是updatepw那应该是更新.
那能不能找到一种方法,制定一个契约,来让这件事情更方便一些?
笔者想到了一种方法:
基于大小写的契约
对于数据库字段名来说,统一大小写不是问题
所以可以这样设计契约(反之亦然):
1.
纯小写表示
数据库
查询条件
2
.
纯
大写表示
数据库
提交数据
3.大小写混合表示非数据库字段
当然代码要配套的检查大小写的区别.具体代码不是问题,这和你的应用架构有关,不过此契约可以简化很多东西,关键这是一种可以模式化的契约
=========ps========
我来举几个例子:
{name:"you",pw:1234}
表示查询条件为 name='you' and pw='1234',但是没有规定返回的字段范围
{name:"you",pw:1234,Filds:"name,id,age"}
这回就有了,很明显Filds是大小写混合的,所以经代码处理后可以用来确定要返回的字段(当然要处理权限的问题了,这个不在本文中讨论
),这样就可以的到这样的语句(当然表的名字和请求的行为是绑定的
)
select name,id,age from youtabl where name='you' and pw='1234'
{name:"you",PW:1234}
很明显这个就可以对应update语句了
update youtable set PW=1234 where name='you'
{NAME:"you",PW:1234}
同理这个可以对应
insert into youtable (name,pw) VALUES('you',1234)
关键:由于契约数据的原因,这些语句都可以通过一定的算法自动生成
分享到:
相关推荐
契约式开发方法是一种借鉴了形式化方法的优点而又易于实践的开发方法学,然而Eiffel等传统的契约式编程语言难以学习与推广。本文提供了一种模型,该模型利用面向方面的编程技术,在面向对象程序设计语言基础上,增加了...
Design by Contract (DbC) 契约式设计 方法学层面的思想 Eiffel语言的直接支持 Bertrand Meyer:DbC是构建面向对象软件系统方法的核心! James McKim:“只要你会写程序,你就会写契约”
基于本体的契约式构件描述与检索模型研究,谢贤山,,语义构件在传统的构件基础上加入了语义的信息,从而使软件构件检索的自动化成为可能。而构件的语义描述又是构件检索的前提,只有
基于微信小程序的小契约(交友互动小程序).zip
.NET4.0契约式设计,MSDN官方推荐学习视频,很好的资料。
大型煤炭集团契约式协同管控模式是在对集团具体情况进行详细调查的基础上,以现代契约交易理论为指导,通过开发、设计适合集团内部具体情况的信息化软件系统,并以此现代化的信息手段为平台,量身定做集团内部运行机制,...
WCF契约编程代码。包含WCF事件机制实现,捕获异常,契约重载,单程操作,双程操作,强类型消息,弱类型消息。。。
微信小程序 交友互动 小契约(交友互动小程序) (源代码+截图)微信小程序 交友互动 小契约(交友互动小程序) (源代码+截图)微信小程序 交友互动 小契约(交友互动小程序) (源代码+截图)微信小程序 交友互动 ...
研究期权和回购两种契约下物流服务供应链的协调问题,考虑分包商回购顾客退回和集成商剩余物流能力的问题,在Stackelberg主从博弈下建立了基于期权回购契约的决策模型,得出了集成商的最优初始订购量和分包商的最优...
小程序是一个易上手的东西, 对于新手来说,多看官方文档,可以初步做出比较完整的小程序,正是因为简单上手,功能实现简单,小程序是越来越火,商业价值也越来越大。 1. 微信web开发者工具:微信小程序官网 这是个...
基于语义契约模型的微服务接口自动化测试技术研究.rar
BOPS模式下基于成本共担契约的供应链协调策略.pdf
面向对象程序设计(OOP)是一种计算机编程架构。OOP的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成。OOP达到了软件工程的三个主要目标:重用性、灵活性和扩展性。为了实现整体运算,每...
WCF编程从入门到精通之WCF实现一个Host多契约服务详解
论文研究-基于能力期权契约的双源应急物资采购模型.pdf, 针对应急物资的采购和生产能力储备问题, 本文设计了一个基于能力期权契约的双源应急物资采购模型. 在存在一个...
从单一供应商构成的四级煤炭供应链,拓展到多个供应商构成的四级煤炭供应链,运用收益共享契约,研究随机需求下,煤炭供应链利益分配问题。分析了独立决策与集中决策下,煤炭供应链利益问题研究。提出运用成本分担契约,...
小契约(交友互动小程序)
小契约(交友互动小程序)小契约(交友互动小程序)小契约(交友互动小程序)小契约(交友互动小程序)小契约(交友互动小程序)小契约(交友互动小程序)小契约(交友互动小程序)小契约(交友互动小程序)小契约...