小编Pat*_*ers的帖子

普通的旧CLR对象与数据传输对象

POCO =普通旧CLR(或更好:类)对象

DTO =数据传输对象

在这篇文章中有一点不同,但坦率地说,我读到的大多数博客都以DTO的定义方式描述了POCO:DTO是用于在应用程序层之间移动数据的简单数据容器.

POCO和DTO是一回事吗?

.net c# poco dto

393
推荐指数
6
解决办法
14万
查看次数

控件的命名约定

Microsoft在其网站上有命名指南(此处).我也有"框架设计指南"一书.

我找不到的是关于命名控件的指南.

例如,一个按钮,当放到表单时,获取typename + number,camel-cased作为默认名称,例如"button1".

这就是我所做的:我删除了数字并在之后添加了有意义的描述.例如"buttonDelete"或"buttonSave".

这样,您就不必在某个指南中维护大量控件及其缩写名称.

你同意吗?

.net c# naming-conventions

35
推荐指数
3
解决办法
6万
查看次数

每个环境的Azure web.config

我在VS2010中有一个Azure项目(Azure 1.3).有2个webroles,一个网页项目和一个WCF项目.在调试模式中,我希望Web项目使用web.config进行DEV环境,并且在发布web.config时必须使用PROD.

做这个的最好方式是什么 ?

目前,在使用带有转换XSLT的Web.Debug.config时,我遇到了问题.它似乎不适用于Azure ....

web-config azure

34
推荐指数
1
解决办法
9501
查看次数

Visual Studio 2012 RTM关闭后在内存中有MSBuild.exe

我注意到当Visual Studio 2012 RTM关闭时,MsBuild.exe的许多实例仍在内存中.

为什么?

msbuild visual-studio-2012

26
推荐指数
1
解决办法
7955
查看次数

在Fluent API中使用额外字段进行多对多映射

我有很多关系,我想使用Code First Fluent API在couple-table中存储额外的数据.

怎么能实现这一目标?

我的模特:

用户可以拥有1个或多个徽章(可选),徽章可以属于一个或多个用户(可选).我想为这个关系存储一个额外的字段(称为B).该表应命名为UserBadges,其中包含以下字段:UserId,BadgeId,B

(我见过的StackOverflow这早些时候在这里,但我的模式有些复杂,没有答案已经给出了正确尚)

entity-framework ef-code-first

26
推荐指数
1
解决办法
2万
查看次数

IDisposable GC.SuppressFinalize(this)位置

我为我的代码使用默认的IDisposable实现模板(模式).

片段:

public void Dispose()
{
    Dispose(true);

    GC.SuppressFinalize(this);
}

protected virtual void Dispose(bool isDisposing)
{
    if (!this.disposed)
    {
        if (isDisposing)
        {
            //cleanup managed resources
        }

        //cleanup unmanaged resources

        this.disposed = true;
    }
}
Run Code Online (Sandbox Code Playgroud)

我的问题:为什么在Dispose公共方法中调用"GC.SuppressFinalize(this)"?在处理受管资源后,我会在受保护方法的"if(isDisposing)"部分中放置"GC.SuppressFinalize(this)".

像这样:

protected virtual void Dispose(bool isDisposing)
{
    if (!this.disposed)
    {
       if (isDisposing)
       {
           //cleanup managed resources

           GC.SuppressFinalize(this);
       }

       //cleanup unmanaged resources

       this.disposed = true;
    }
}
Run Code Online (Sandbox Code Playgroud)

.net c# idisposable suppressfinalize

11
推荐指数
2
解决办法
3765
查看次数

如何处理TFS中的遗留任务

处理未在TFS中结束sprint的任务和用户故事的最佳方法是什么?

我的方法:

  • 使用正确的Reason子状态将每个任务设置为"已关闭".我将此任务+原始估计​​+剩余小时复制到记事本.
  • 从用户故事中删除迭代(以便它将再次出现在Product Backlog上)

对于下一个冲刺:

  • 将任务从记事本添加到TFS作为新任务,将其分配给正确的用户故事并将用户故事设置为当前sprint.

这只是一种方法.你有更好的想法或建议吗?

tfs scrum

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

在switch语句中针对枚举进行编程,这是你的方法吗?

看一下代码片段:

这是我在编写枚举时通常所做的事情.我有一个带有InvalidOperationException的默认转义(我不使用ArgumentException或它的一个派生,因为编码是针对私有实例字段而不是传入参数).

我想知道你们的开发人员是否也编写了这个逃避的想法....

public enum DrivingState {Neutral, Drive, Parking, Reverse};

public class MyHelper
{
    private DrivingState drivingState = DrivingState.Neutral;

    public void Run()
    {
        switch (this.drivingState)
        {
            case DrivingState.Neutral:
                DoNeutral();
                break;
            case DrivingState.Drive:
                DoDrive();
                break;
            case DrivingState.Parking:
                DoPark();
                break;
            case DrivingState.Reverse:
                DoReverse();
                break;
            default:
                throw new InvalidOperationException(
                    string.Format(CultureInfo.CurrentCulture, 
                    "Drivestate {0} is an unknown state", this.drivingState));
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在代码审查中,我遇到了许多在默认转义中只有break语句的实现.这可能是一个问题随着时间的推移....

.net c#

10
推荐指数
3
解决办法
6852
查看次数

以TFS的不同方式共享项目文档,您的最佳实践是什么?

我想知道您在TFS 2010中管理(和版本化)不同类型的项目文档(例如版本控制目标文档,如:用例,主测试计划,qa计划和非版本控制相关文档,例如MinutesOfMeetings)的最佳实践.

你正在用吗

  1. 团队维基或
  2. 共享文件或
  3. 来源控制

documentation tfs tfs2010

10
推荐指数
1
解决办法
5128
查看次数

显示两个标签之间的所有变更集

在TFS2010中,每个构建都与构建服务器的标签相关联.

我们的SCM管理层希望查看两个标签之间的所有变更集和相关工作项.大多数情况下,这些标签是具有"已发布"构建质量的构建.这样,可以报告两个交付的构建之间的所有更改.

这在TFS 2010中是如何完成的?

tfs tfs2010

7
推荐指数
1
解决办法
5791
查看次数