MVC与单元测试实践之健身网站(二)-管理员模块

news/2024/5/8 11:59:25/文章来源:https://blog.csdn.net/weixin_33739646/article/details/92231203

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

开始动手做这个项目时,发现无法做到完全的先设计、再编码,于是决定分模块进行,从管理员模块开始设计、编码,而且接口就已经改了好几次了。

管理员模块涉及的功能有登录和后台对管理员的维护,其中也涉及前端的开发。UI模板使用Inspinia,感觉这套模板功能丰富、界面美观,而且基于HTML5和BootStrap,对这两方面的知识也可以多些了解。

在上一篇<如何在单元测试时隔离ORM>中,解决了对Service层进行测试怎样构建伪对象的问题,随后管理员模块的Service层和单元测试在齐头并进中完成了;前端基于模板套出的界面也好了。

后台登录界面:

 

 

首页:

 

 

管理员的维护尚未完成,这儿记录两个之前遇到的问题:HTML5表单的异步提交验证以及关于Autofac待注入对象的初始化的一个问题。

 

一 HTML5表单的异步提交验证

a) 表单验证

本来计划表单的验证使用ValidForm组件,但遇到了一些莫名其妙无法解决的样式问题,只好使用HTML5自带的表单验证,直接支持email、url等的校验,但对浏览器有限制

 

 

另外,即使浏览器支持,但感觉验证并不严密,比如邮箱输入类似email@abc竟然也可以通过验证,所以还是自己写正则表达式靠谱。非空校验要单独添加required属性。

 

b) 表单异步提交

HTML5原生的校验颜色比ValidForm漂亮,但之前只知道需要点击submit按钮才能触发校验,这是放弃原生校验尝试ValidForm的直接原因,但ValidForm搞不定后,只好寻求HTML异步提交的方法,其实很方便:

 

 

在注册的$("#formLogin").submit方法中,使用$(this).ajaxSubmit(options)替换了点击submit时的事件行为,进行ajax异步提交。

 

 

 

 

二 关于Autofac,在待注入对象的构造函数需要参数时的配置问题

为了在对Service层的单元测试时隔离EF,在Service层和EF操作之间增加了IRepositoty接口及其实现,在初始化AdminUserService时要在其构造函数中传递AdminUserRepository参数

 

 

在单元测试时可以手工传递,但在Controller中注入AdminUserService时却不能这样做了,需要配置Autofac在初始化AdminUserService要使用的IRepository<AdminUserEntity>对象。

 

 

在AutofacConfig的代码中,最简单的情况是只需要注册Controller和IService接口的实现类,现在则还需要注册以Reposiroty结尾的类(a.Name.EndsWith("Repository")),因为这里规定实现IRepository的类统一以” Repository”结尾,然后通过builder.Register(a => new AdminUserService( (IRepository<AdminUserEntity>)a.Resolve(typeof(IRepository<AdminUserEntity>))))来配置Autofac在初始化AdminUserService类时为构造函数传递的参数为IRepository<AdminUserEntity>。采用这种配置方式的话,意味着后续每当增加新的Service类时都要回到这儿建立手动映射,显然有点不便,应该有更简便的方法有待试验。

转载于:https://my.oschina.net/u/2327858/blog/913900

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_803094.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Yahoo团队经验:网站性能优化的34条黄金法则

2019独角兽企业重金招聘Python工程师标准>>> 1、尽量减少HTTP请求次数 终端用户响应的时间中&#xff0c;有80%用于下载各项内容。这部分时间包括下载页面中的图像、样式表、脚本、Flash等。通过减少页面中的元素可以减少 HTTP请求的次数。这是提高网页速度的关键步…

网路游侠:关于几个免费在线挂马检测网站

有时候我们需要知道一个网站的安全性&#xff0c;那么您可以像游侠这样在网站底部挂金山和瑞星的云安全检测系统&#xff0c;如下图所示&#xff1a;需要知道扫描效果的话&#xff0c;看看这两个网址&#xff1a;金山瑞星不过不知道大家看到没&#xff0c;瑞星只说有没有木马&a…

我觉得网站的通用部分

这个图片是我用xmind编辑的。欢迎大家来纠正或添加&#xff01; 再来说说我对网站开发的理解与碰到的问题。 网站的前端有几个部分我觉得很重要&#xff1a; 1.优雅的文字提示 2.合理的页面设计 3.适当的脚本特效 一进入这个网站&#xff0c;就让人有一种非常舒适的感觉。并且在…

二、大型网站架构模式

为什么80%的码农都做不了架构师&#xff1f;>>> 1.分层&#xff1a;应用层&#xff08;视图层、业务逻辑层&#xff09;、服务层&#xff08;数据接口层、逻辑处理层&#xff09;、数据层。使逻辑结构清晰&#xff0c;解耦和&#xff0c;便于开发维护。 2.分割&…

使用apacheBench对网站进行压力测试(ab压力测试)

ApacheBench 简称ab&#xff0c; 是 Apache 附带的一个小工具 &#xff0c; 专门用测试网站服务器的运行想能&#xff0c;特别是针对Apache网站服务器的效能分析。专门用于 HTTP Server 的 benchmark testing &#xff0c; 可以同时模拟多个并发请求。 windows下在安装完apache…

SEO优化如何让提高收录量

相信在做SEO优化的网络人员来说&#xff0c;最高兴的时候就是看见自己辛苦打出来的文章被收录了。可是&#xff0c;收录量就有点。。。。今天&#xff0c;我就来教教大家怎么提高收录量&#xff0c;主要分四个方面。 1、收录网站的时间间隔网站的重点是网站页面收录之间的时间间…

如何将网站的php版本信息隐藏起来

当我们把网站上线之后,我们可以通过curl的如下命令显示指定网站的头信息,curl的安装方法参考:https://www.wj0511.com/site/detail.html?id105 curl -I https://www.wj0511.com 如&#xff1a; 这时候可以看到如下信息 X-Powered-By: PHP/7.0.21 这样我们可以看到我们可以…

百度商桥放在php网站哪里_教你如何做好百度竞价推广

如何做好百度推广?这是每个百度客户在加入百度推广后必然想到的一个问题&#xff0c;也是每个实施顾问所困惑的问题。究竟我们可以通过哪些方法达到客户的预期&#xff0c;使客户与百度长久稳定的合作呢?小编给大家分享一下下面是一些优化账户的方法&#xff0c;供大家参考:首…

mysql学习文档_「mysql学习」MySQL学习文档 - seo实验室

mysql学习基础知识1 创建表CREATE TABLE tablename (name1 CHAR(100),name2 NUMERIC,name3 INT);2 向表中按行插入数据INSERT INTO tablename(name1,name2,name3) VALUES(value1,value2,value3);插入多行INSERT INTO tablename(name1,name2,name3) VALUES(value1,value2,value3…

资源网站

文章目录shell教程》](https://www.runoob.com/linux/linux-system-boot.html)![在这里插入图片描述Arduino学习》电子书下载》 shell教程》 Arduino学习》 电子书下载》

php网站友链直显代码,友情链接代码有哪些 怎么写

友情链接版块在大多数网站的底部都会有这块信息展示&#xff0c;少部分博客会在右下角显示友情链接&#xff0c;通常用于与别人的合作或者互相连接&#xff0c;达到引流、引蜘蛛的目的。那么友情链接代码是怎样的呢&#xff1f;href"url"&#xff0c;url对应的是网站…

网站常用小图标

转载于:https://blog.51cto.com/181796968/42304

浏览器显示“您与此网站之间建立的连接不安全”的解决方案

现在很多网站打开的时候发现浏览器地址栏多了一个小的信息提示&#xff0c;点开看&#xff0c;谷歌的Chrome浏览器会提示“您与此网站之间建立的连接不安全”&#xff0c;火狐的firefox浏览器会提示“您与此网站之间建立的连接不安全”。 这种一般是什么原因导致的呢&#xff1…

适用于编程开发自学的学习网站

今天为大家分享几个编程开发自学的学习网站 1.C语言网 该网站有很多C语言相关的教程、资源、博客和练手习题&#xff0c;同时也有很多题库和比赛&#xff0c;比较实用。 网址&#xff1a;https://www.dotcpp.com/ 2.cppreference cppreference是一个免费网站&#xff0c;上面…

免费电子书下载网站,不来白嫖一波

作为开发者&#xff0c;多多少少都会看些技术书籍&#xff0c;许多经典的技术书籍作者都是国外的&#xff0c;等到中文翻译版出来很多书籍可能已经不适用了&#xff0c;购买原版书籍&#xff0c;价格又太高&#xff0c;因此知道一些免费的图书下载网站是非常重要的&#xff0c;…

分享一波学习编程刷题网站

相信很多小伙伴在学习了基础知识后并不清楚自己到底掌握了多少知识&#xff0c;也不清楚自己的实力&#xff0c;那这时候就需要做题来检验自己了&#xff0c;这里我就给各位推荐3个刷题网站&#xff0c;供各位大佬参考&#xff0c;互相学习 1.牛客网 网址&#xff1a;https://…

Quick Tip : 为什么不能在子网站创建自定义权限级别?

在SharePoint 2010中&#xff0c;如果一个子网站是继承其父网站的权限&#xff0c;那么从网站设置中打开网站权限页面&#xff0c;你会看到&#xff1a; 点击Ribbon区域的“停止继承权限”&#xff0c;管理员就可以断掉当前网站与父网站的权限继承&#xff0c;自定义网站的权限…

华为ensp实验案列推荐,这是我发现实验案列最多的一个网站,不看就亏大了

话不多说&#xff0c;先上图 没错&#xff0c;就是程序员大本营&#xff0c;本人这几天一直在寻找大量华为ensp的实验案列进行训练&#xff0c;一直没有找到太多&#xff0c;也不全&#xff0c;终于在今天让我找到了&#xff0c;这里面从ensp的安装到各种实验都有&#xff0c;想…

网站架构之缓存应用(1)概念篇

网站缓存这个话题并不新颖&#xff0c;但是能否将它用好&#xff0c;可是一门学问&#xff0c;同一件工具在不同人的手中会做出不同的事情来。这里我来分享总结下我对于网站架构中缓存应用的一些看法和经验&#xff0c;大家有好的想法可以补充。 第一&#xff1a;缓存…

分享一个国内的网站-有了它你还用新浪微博吗

最近从一个介绍WEB2.0的网站看到这样一篇介绍&#xff0c;有这样一个网站&#xff0c;提供随时随地的日记记录功能。 久久日记&#xff0c;一个基于移动终端的功能软件。 为用户提供了一个方便记录下自己碎碎念的日记本服务&#xff0c;在这里&#xff0c;用户对生活的感悟可以…