当前位置: 首页 > wzjs >正文

响应式网站广州网站建设国家653工程国家建筑工程网

响应式网站广州网站建设,国家653工程国家建筑工程网,大连网站建设酷网科技,dede网站名称不能保存目录 概念 需求 贫血模型 充血模型 总结 概念 贫血模型:一个类中只有属性或者成员变量,没有方法。充血模型:一个类中既有属性、成员变量,也有方法。 需求 定义一个类保存用户的用户名、密码、积分;用户必须具有…

目录

概念

需求

贫血模型

充血模型

总结


概念

  1. 贫血模型:一个类中只有属性或者成员变量,没有方法。
  2. 充血模型:一个类中既有属性、成员变量,也有方法。

需求

定义一个类保存用户的用户名、密码、积分;用户必须具有用户名;为了保证安全,密码采用密码的散列值保存;用户的初始积分为10分;每次登录成功奖励5个积分,每次登录失败扣3个积分。

贫血模型

优点:简单清晰,适合小型项目或简单业务逻辑。

缺点:业务逻辑分散,不利于复杂业务场景的维护。

class User
{public string UserName { get; set; }//用户名public string PasswordHash { get; set; }//密码的散列值public int Credit { get; set; }//积分
}
User u1 = new User(); u1.UserName = "ljy"; u1.Credit = 10;
u1.PasswordHash = HashHelper.Hash("123456");//计算密码的散列值
string pwd = Console.ReadLine();
if(HashHelper.Hash(pwd)==u1.PasswordHash)
{u1.Credit += 5;//登录增加5个积分Console.WriteLine("登录成功");
}
Else
{if (u1.Credit < 3)Console.WriteLine("积分不足,无法扣减");else{u1.Credit -= 3;//登录失败,则扣3个积分}Console.WriteLine("登录失败");
}

充血模型

符合“单一职责原则”

class User
{public string UserName { get; init; }        public int Credit { get; private set; }private string? passwordHash;public User(string userName){this.UserName = userName;this.Credit =10;}//修改密码public void ChangePassword(string newValue){if(newValue.Length<6){throw new Exception("密码太短");}this.passwordHash =Hash(newValue);}//比较密码散列值public bool CheckPassword(string password){string hash = HashHelper.Hash(password);return passwordHash== hash;}//扣除积分public void DeductCredits(int delta){if(delta<=0){throw new Exception("额度不能为负值");}this.Credit -= delta;}//增加积分public void AddCredits(int delta){this.Credit += delta;}
}
User u1 = new User("ljy");
u1.ChangePassword("123456");
string pwd = Console.ReadLine();
if (u1.CheckPassword(pwd))
{u1.AddCredits(5);Console.WriteLine("登录成功");
}
else
{u1.DeductCredits(5);Console.WriteLine("登录失败");
}

总结

贫血模型是站在开发人员的角度思考问题,充血模型是站在业务的角度思考问题。


文章转载自:

http://Zq2SoNwd.gLwyn.cn
http://pDSMkxeC.gLwyn.cn
http://LhXAZfoO.gLwyn.cn
http://sFsH1nH6.gLwyn.cn
http://5hXcYjQs.gLwyn.cn
http://rte17viZ.gLwyn.cn
http://9q280vTg.gLwyn.cn
http://gQgjCG6h.gLwyn.cn
http://q0R9lVcV.gLwyn.cn
http://te1B8gco.gLwyn.cn
http://L8kLALTZ.gLwyn.cn
http://ePF6kqmQ.gLwyn.cn
http://1W2umyCY.gLwyn.cn
http://0jhn3pCw.gLwyn.cn
http://B6eJ1ygd.gLwyn.cn
http://ZAvKwnG5.gLwyn.cn
http://F5t79e62.gLwyn.cn
http://2r4WfZNb.gLwyn.cn
http://TBlpklWu.gLwyn.cn
http://WVe2I4QD.gLwyn.cn
http://S4Lb3gv7.gLwyn.cn
http://KskHkcQP.gLwyn.cn
http://wt9FTVoT.gLwyn.cn
http://beZxGqRZ.gLwyn.cn
http://Mun7evb0.gLwyn.cn
http://y4ELPjg5.gLwyn.cn
http://qqJQwRG4.gLwyn.cn
http://RiGIutsF.gLwyn.cn
http://8fjFIsaw.gLwyn.cn
http://1BViY00U.gLwyn.cn
http://www.dtcms.com/wzjs/618450.html

相关文章:

  • 网站建设升级的必要性淘宝网站建设单子好接吗
  • 网站建设需要的手续河源seo
  • 大型服装网站开发泾川门户网
  • 南昌网站搜索排名网站合同需要注意什么呢
  • 越秀网站建设价格wordpress首页不显示最新文章
  • jn建站系统网吧网络维护公司
  • 两学一做网站进不去wordpress主题开发编辑器
  • 广东地区建网站的公司有谁用2008做网站服务器
  • 泉州网站建设企业什么样的笔记本电脑适合网站开发
  • 福州建站模板搭建视频优化软件
  • 韩城市网站建设一个做网站的团队需要哪些
  • 自己电脑做服务器上传网站 需要备案吗漳州seo顾问
  • 网站建设栏目怎么介绍兰州网站建设技能论文
  • 网站做app开发最新网站推广
  • 柳城企业网站建设公司西安加盟代理网站建设
  • 做百科需要用什么网站做参考建设互联网站的目的
  • 南宁网站建设地方做网站gzip压缩
  • 商城网站开发项目描述中国空间站简笔画
  • 比较好的室内设计网站厦门市建设工程质监站网站
  • 学校网站 建设 价格软件项目管理期末考试
  • 网站建设需要哪些工作室网站域名使用费用
  • 最便宜做网站的方法网址站点异常怎么解决
  • 新动力网站建设可以做照片书的网站
  • 惠州公司网站建设龙岩网站建设大概费用
  • 厦门php商城网站建设易居房产网下载
  • 杭州互助盘网站开发互联网营销师培训机构哪家好
  • 做相册的网站有哪些google谷歌搜索
  • 个人网站建设方案策划书好看的网站设计网站
  • 长春网站设计制作成都自助建站软件
  • 柳州网站制作推荐网络游戏带来的危害