小编Goo*_*oup的帖子

为什么通用存储库被视为反模式?

在我看来,许多专业的存储库类具有相似的特性,让这些类实现一个概述这些特性的接口是有意义的,创建一个通用的存储库

说明我的观点,说我们有这个代码

public class IEntity
{
    public int Id; 
}

public interface IRepository<T> where T: IEntity
{

    IEnumerable<T> List { get; }
    void Add(T entity);
    void Delete(T entity);
    void Update(T entity);
    T FindById(int Id);
}

[Table("Author")]
public partial class Author : IEntity
{
    public int Id { get; set; }

    [Required]
    public string authorname { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

然后我们继续实现这些接口来创建我们的特定存储库

public class AuthorRepository : IRepository<Author>
{

    Model1 _authorContext;

    public AuthorRepository()
    {
        _authorContext = new Model1();

    }
    public IEnumerable<Author> List
    { …
Run Code Online (Sandbox Code Playgroud)

c# generics orm anti-patterns repository

12
推荐指数
0
解决办法
4440
查看次数

如何防止在MVC 5脚手架中自动安装Bootstrap(和依赖项)?

当我创建一个新的ASP.net MVC 5项目并通过脚手架从控制器的动作添加视图时,Visual Studio总是为Bootstrap添加Nuget包及其依赖项(例如jQuery).大多数时候我发现这是非常多余的,大多数时候我发现自己将其删除.

在创建项目时是否可以指定选项?或者是否有某个Visual Studio选项会阻止通过视图脚手架安装Bootstrap?或者让我创建自己的模板来工作?

asp.net-mvc twitter-bootstrap visual-studio-2013

11
推荐指数
1
解决办法
3113
查看次数

为什么没有dt标签的dl标签会验证

我最近遇到了一个使用定义列表标签的网站,尽管使用不正确,但仍然如此.他们使用它们而没有将定义标题声明为定义列表的第一个子节点.

出于好奇,我将以下内容通过w3c验证器

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <title>Document</title>
</head>
<body>
    <dl>
        <dd>description</dd>
        <dd>description</dd>
        <dd>description</dd>
    </dl>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

为什么这会验证?当然它在语义上没有舔感觉?还是我完全错过了一些完全明显的东西?

html validation w3c

5
推荐指数
1
解决办法
538
查看次数

javascript密码计不递增

我知道这在这里经常是一个问题,但我不认为它特别涉及到设计模式,而是更多地依赖于我的愚蠢.

这可能是一个非常简单的解决方案,但我很累,而且它开始对我有所帮助了.我已经在控制台中解雇它并相应地做出响应但是当我在输入中键入任何内容时,它没有响应.

这是JS

$(document).ready(function(){
var passwordStrength = function (element){
    var password = element.val();
    var strength = [ 'Very Weak', 'Weak', 'Better', 'Strong', 'Very Strong' ];
    var score   = 0;
    // > 6
    if (password.length > 6){ 
        score+=1;
    }
    //has lower and uppercase     
    if ((password.match(/[a-z]/) ) && (password.match(/[A-Z]/))){
        score+=1;
    }
    //has number
    if (password.match(/\d+/)){
        score+=1;
    }
    //has special character
    if (password.match(/.[!,@,#,$,%,^,&,*,?,_,~,-,(,)]/)){
        score+=1;
    }
    //more than 12 characters
    if (password.length > 12){
        score+=1;
    }

    $('#pwdstrtxt').text(strength[score]);
    $('#pwdstrtxt').addClass('pwdText'+score);
    $('#pwdStrFill').addClass('pwdScore'+score);
}

passwordStrength($('#pass'));

});
Run Code Online (Sandbox Code Playgroud)

这是一个JSFiddle …

javascript jquery

0
推荐指数
1
解决办法
169
查看次数