数据库调整遵循开闭原则实例解析与跨域解决方案

957次浏览

数据库调整也可以遵循“开闭原则”的,本文我们就通过一个具体的实例来介绍这部分内容,首先如假如在原表上改,牵动太大,所以就想到了面向对象的“开闭原则”,在不改变原表的同时,添加一个附加表,即和原表有相同的主键,并且是一对一的关系(有时,假如一张表太复杂,字段太多,我们也可以用这个方法把复杂表进行拆分),添加后的结构如下:

数据库调整所遵循的“开闭原则”简介

这样在不改原表的基础上,就完成的需求的变更。

我的需求改动还涉及到了跨域问题,用jsonp解决的,实例代码如下:

<script> $(function() {  $("#btn").click(function() {  $.ajax({  type: "GET",  dataType: "jsonp",  jsonp: "jsonpcallback",  data: { userid: '<%=Standard.ClientHelper.Current.UserInfo.ID %>',   username: '<%=Standard.ClientHelper.Current.UserInfo.UserName %>',  _email: $("#email").val() },  url: "http://sso.c2cedu.com/Register/SendEmailInsertInvite",  success: function(data) {  //填写用户激活后送C币的逻辑  if (data.success == true)  alert("邀请成功");  else  alert("邀请失败");  }  });  });  });  script> 

另外一网站的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 + ")");  

以上就是数据库调整所遵循的“开闭原则”的相关知识的介绍,本文我们就介绍到这里了,希望本次的介绍能够对您有所收获!

标签:

推荐阅读

headin_border
移动流量增长:响应式设计全攻略 - 推荐阅读文章
移动流量增长:响应式设计全攻略

掌握响应式设计核心技巧,提升移动流量增长与用户体验。通过真实案例与数据解析,教你如何优化布局、加载速度及内容适配,避免常见误区,实现网站流量与转化率的显著提升。

Performance Monitoring Setup 实 - 推荐阅读文章
Performance Monitoring Setup 实

本文分享如何构建高效的性能监控体系,通过实时监测、动态阈值和机器学习实现精准报警,减少误报与漏报。涵盖关键指标选择、数据存储方案、异步报警机制及金融行业实操案例,助你提升系统稳定性与用户体验。

揭秘地理位置功能实现本地优化奇迹全攻略 - 推荐阅读文章
揭秘地理位置功能实现本地优化奇迹全攻略

掌握地理位置功能,实现本地优化流量提升87%。本文提供基于位置服务的创新策略,助力企业精准识别潜在客户,提升搜索曝光,驱动线下流量。深入解析应用场景与实操技巧,助你把握本地营销新风口,提升用户转化率与...