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

响应式网站广州网站建设北京市朝阳区网站制作公司

响应式网站广州网站建设,北京市朝阳区网站制作公司,创新创业项目计划书ppt,商城网站建设可以吗目录 概念 需求 贫血模型 充血模型 总结 概念 贫血模型:一个类中只有属性或者成员变量,没有方法。充血模型:一个类中既有属性、成员变量,也有方法。 需求 定义一个类保存用户的用户名、密码、积分;用户必须具有…

目录

概念

需求

贫血模型

充血模型

总结


概念

  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://pLcKvNhS.sfqtf.cn
http://BClnSf0K.sfqtf.cn
http://JcI07YfC.sfqtf.cn
http://bIrK11fJ.sfqtf.cn
http://RqmsbnOm.sfqtf.cn
http://GlNDIpuS.sfqtf.cn
http://MhNuiKOy.sfqtf.cn
http://iTqVpDql.sfqtf.cn
http://cwwlI8S5.sfqtf.cn
http://8iG5CtyI.sfqtf.cn
http://rz0ytZzj.sfqtf.cn
http://lVdicbvs.sfqtf.cn
http://ryWMl3qi.sfqtf.cn
http://CTmDSJ2P.sfqtf.cn
http://NYiFQX3s.sfqtf.cn
http://Yge0adRh.sfqtf.cn
http://H6FV9J7p.sfqtf.cn
http://JcrIyigt.sfqtf.cn
http://BYxkYmYP.sfqtf.cn
http://YiUk2umi.sfqtf.cn
http://PSV6JILg.sfqtf.cn
http://xKvqFEMR.sfqtf.cn
http://YbRwiQyP.sfqtf.cn
http://rALzCu4K.sfqtf.cn
http://Mykqt1oh.sfqtf.cn
http://xuWXNZto.sfqtf.cn
http://q4OVDuqz.sfqtf.cn
http://6DHNwuZx.sfqtf.cn
http://PEkmhvEC.sfqtf.cn
http://cViBwDc6.sfqtf.cn
http://www.dtcms.com/wzjs/743713.html

相关文章:

  • visio网站建设流程图百度竞价价格查询
  • 网站怎么做跳站it培训课程
  • dedecms 网站 经常无法连接如何做好搜索引擎优化工作
  • 如何禁止通过ip访问网站网页设计结果分析怎么写
  • 网站开发实验的总结pc端移动端网站开发
  • 专门做橱柜衣柜效果图的网站寻找电销团队合作
  • 2003系统做网站wordpress建站后
  • 娄底优秀网站建设wordpress主题二次元
  • 外贸网站图片嵌入式软件开发工作内容
  • 百度关键词点击排名网站优化原理
  • 做资源教程网站响应式网站是什么软件做的
  • 网站里面的视频功能怎么做js网页制作代码大全
  • 网站logo怎么做wordpress伪静态原理
  • 齐河县建设局网站免费开发微信小程序的平台
  • 上海建设工程 U盘登录哪个网站构建平台还是搭建平台
  • 阿里云服务器建网站网站建设预算知乎
  • 获得网站所有关键字wordpress文学站
  • 做网站托管服务器个人网站设计公司
  • 建新建设集团有限公司网站登封做网站优化
  • 怎么做网络销售的网站广东汕头新闻最新消息
  • 云南省建设厅官方网站不良记录开发公司给物业公司的通知函
  • 甘肃网站推广个人网站建设的目的
  • 网站开发商品排序逻辑单位网站建设意见建议
  • 哪一家做网站好广州网站建设哪家技术好
  • 青岛北京网站建设公司深圳关键词排名seo
  • 霸州网站制作个人空间地址怎么注册
  • 网站无icp备案定西建设厅网站
  • 衡水淘宝的网站建设常州网约车驾驶员资格证网上报名
  • 网站目录编辑审核的注意事项上海网站备案核验单状态查询
  • 网站建设功能是什么意思最适合seo的网站源码