2010-12-04 52 views
-7

简介Blurb的一般问题,约实体框架与企业图书馆及其他几个

我在.NET技术已被称为“创新”,但我宁愿它是示范性的。基本上,我需要一个导师。我拥有域名codeologist.com,我将不辜负这个名字,但为了这样做,我需要一个导师&社区。

在该问题:

  1. 实体框架 - 我想这是从工厂的强烈框架映射对象,同时保持系统内的物体的完整性和状态。至少,这是我听到大约15分钟播客的直觉。 RTFM我知道,但这是一个正确的总体评估?

  2. 企业图书馆 - 杀手锏。至少作为示例应用程序使用大多数块。

  3. 域驱动设计 - 从像ERD/ORM这样的思维转向域驱动设计有哪些技巧?优点与缺点?

  4. 敏捷与SCRUM - 真的有区别吗?

  5. 单元测试 - 我想到的最后一件事。无法正确获得自动化web ui测试设置,还需要来自VSS 2005存储库的NAnt/MSBuild脚本的帮助。源代码中的完整示例将非常好,可能还包括调度。

  6. Bare essential TSQL-什么是企业发展的最低专业级TSQL报表?像ROWCOUNT,TRANSACTION,ROLLBACK,流量控制语句,对于CRUD方法的安全问题。

  7. 可以想象整合MVC2/3,实体框架,企业库和SilverLight Web前端?甚至可能是Sharepoint?

  8. 我问了一个我遇到过的人,我应该什么时候使用Linq,他的回复是“总是用武力”。

  9. 当你学习一种新的语言时,你写什么游戏/应用程序?对于那些即将进行编码的人来说,有哪些好的练习? (我们向你致敬!)

  10. 什么书你会推荐一般编程理论,企业架构&业务分析?

好大概没有人会回应,但这些都是燃烧的问题,我已经在我的内心,我刚刚得到了这一切,。

极客生活。

+7

这不应该只是一个问题。 – 2010-12-05 18:34:58

回答

1

我不能回答你所有的问题,但我会采取射击在他们几个

  1. 的(问题1)基本上你的评价听起来是正确。也可以这样说,EF'抽象出'将数据持久化(通常是磁盘驱动器)存储所需的SQL。

  2. (问题7)是的。但是,根据我的经验,很多(如果不是大多数)软件开发人员不能或不愿意同时处理这么多不同的技术。平均堆栈溢出成员不会遭受这种特殊疾病。

  3. (问题8)那个人是对的。 LINQ岩石。每次你可以用LINQ语句替换一个foreach循环,你的代码就会更容易阅读和维护。记住LINQ(Lambdas)可以用于查询数据库。对集合进行排序的LINQ语法与在SQL语句中排序一样简单,但具有能够在内存中排序的附加优势。完全学习LINQ,它是你的朋友。

  4. (问题9)我通常直接进入一个真正的工作项目。然后在我做了几件事后重构。最好的学习来自干。你从错误中学到更多东西,解决问题,并且比我知道的任何其他方法都正确。

  5. (问题10)有两本书已经出现,但仍然很重要。
    设计模式可重用面向对象软件的元素
    这本书通常被称为'四人帮'或GOF书。

    模式企业应用架构的由Martin Fowler

5

好吧,让我们来看看。

1)实体框架 - 它主要是一个ORM(对象关系映射器)。 EF的想法实际上比这更有野心;真正的目标是为各种数据(即EDM)创建全能的建模框架,然后提供实现并支持该模型(EF)的软件。但实际上,它是一个ORM。

2)嗯,这里真的有问题吗?

3)跑步,不要走路,要买Eric Evan's Domain Driven Design。这是定义每个人今天使用的DDD词汇的书。想知道存储库真的是什么吗?它在这里。

4)地狱是的。敏捷是体现在Agile Manifesto中的想法。这是基本原则。 SCRUM是符合这些原则的特定方法(以及方法框架)。有很多敏捷方法(Extreme Programming和Crystal Clear是我头上的两个例子),但它们都有相同的基本原则。 5)嗯,这应该是你首先想到的,但你应该做测试驱动设计,而不是单元测试。 TDD是一项设计/开发活动,单元测试是一项测试活动。网络用户界面测试是一个痛苦,授予。虽然你的问题有点模糊,它看起来像多部分。您可能想将其分解为单独的更具体的问题。

6)我并不是一个真正的SQL人员,但基础知识已经非常丰富 - SELECT对于初学者来说非常复杂。虽然我认为如果你需要条件逻辑或循环内的TSQL sprocs,一些事情变得非常糟糕,非常错误。你最好理解理论 - 关系模型,正常形式,各种数据类型及其行为。

7)是的,对于大多数人来说。每个人在软件堆栈中扮演不同的角色。假设你在做一个RIA风格的客户端,你可以在浏览器中运行Silverlight应用程序提供UI,并通过一个MVC站点回传给一个Web服务器。 Entlib在实现该MVC应用程序中很有用。如果你使用的是Silverlight,你将最有可能使用EF进行数据访问。你也可以用它来击中MVC应用程序内的数据库。 Sharepoint可能有点问题 - 它也是一个Web服务器的事情,所以你可以认为它是MVC应用程序的竞争对手。但是你也可以将它用作数据存储。 8)LINQ岩石。这是关于管理数据序列的某些问题的另一种思考方式。我喜欢它的一点是它是非常可组合的 - 您可以通过多种方式过滤,转换和操作数据,并将这些东西传递出去,并在过程中进行更多的过滤/转换,并将所有插槽无缝地连接在一起。另外,实现LINQ所需的语言材料为C#/ VB.NET带来了全新的力量,这真的很酷。

9)为了确保你已经掌握了编辑器 - 编译器 - 调试器工具链,Hello World总是有用的。在那之后,我倾向于潜入任何我想要的东西。当我第一次尝试Silverlight时,我做了一个小游戏。我可能会做一个小解析器。或者只是尝试在屏幕上扔一些窗口。我没有一个标准的新项目。

10)对设计模式和POEAA的建议达成一致。我也强烈推荐Hunt和Thomas的The Pragmatic Programmer。这不是关于编程理论,而是关于构建软件的技巧。