数据库调整也可以遵循“开闭原则”的,本文我们就通过一个具体的实例来介绍这部分内容,首先如如果在原表上改,牵动太大,所以就想到了面向对象的“开闭原则”,在不改变原表的同时,添加一个附加表,即和原表有相同的主键,并且是一对一的关系(有时,如果一张表太复杂,字段太多,我们也可以用这个方法把复杂表进行拆分),添加后的结构如下:
网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、微信小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了甘德免费建站欢迎大家使用!
这样在不改原表的基础上,就完成的需求的变更。
我的需求改动还涉及到了跨域问题,用jsonp解决的,实例代码如下:
另外一网站的CS端程序如下:
- public ContentResult SendEmailInsertInvite(string userid, string username, string _email)
- {
- string queryStr = Request.QueryString["jsonpcallback"];
- string res = "{success:false}";
- try
- {
- res = "{success:true}";
- #region 发邀请邮件,并将checkcode记录和邀请表记录插入
- Array.ForEach(_email.Split(','), i =>
- {
- CheckCodeRecord checkCodeRecord = new CheckCodeRecord
- //有几个email地址,就产生几个checkcode记录
- {
- CheckCode = VCommons.Utils.GetNewGuid(),
- Description = "邀请送C币"
- };
- UserInviteCCoin entity = _UserBaseServices.GetUserInviteCCoinByUserId(userid)
- ?? new UserInviteCCoin
- {
- UserID = userid,
- InviteID = VCommons.Utils.GetNewGuid(),
- };
- entity.IPAddr = checkCodeRecord.CheckCode;
- _UserBaseServices.AddInviteRecord(entity, checkCodeRecord);
- email.UserInviteEmail(entity, username, i);
- });
- #endregion
- }
- catch (Exception)
- {
- throw;
- }
- return Content(queryStr + "(" + res + ")");
- }
以上就是数据库调整所遵循的“开闭原则”的相关知识的介绍,本文我们就介绍到这里了,希望本次的介绍能够对您有所收获!
网页名称:数据库调整所遵循的“开闭原则”简介
浏览地址:http://www.csdahua.cn/qtweb/news4/138804.html
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网