Summary 09.08.2009 – 11.08.2009

11/08/2009

ASP.NET MVC

Simone Chiaretta dissects the DropDownList helper method.

David Hayden continues his post from yesterday showing how we can separate the validation annotations into a metadata class via BuddyMetadataProvider similar to how DynamicData works.

C#

Daniel Cazzulino shows how to achieve strongly typed reflection for generic types and methods by creating a delegate of the target method and using the delegate’s properties to get the corresponding MethodInfo.

The CLR team talks about IL Stubs Everywhere feature in C# 4.0 that allows the same IL stubs infrastructure for all marshalling on all platforms.

Bart DeSmet presents the new System.Linq.Expressions namespace in C# 4.0.

Design patterns

Jeremy Miller announces that the presentation patterns wiki is live!

DDD

Jonathan Oliver has an excellent post about distributing a single bounded context on different machines and dealing with optimistic concurrency.

Entity Framework

Julie talks about entity properties that we can take advantage of in EF 4.0 and that are designed for model first and dynamic data support.

RIA

Fredrik Normen shows how SubmitChanges mechanism works in .NET RIA Services.

Unity

Mike Taulty has a nice post about Unity’s features.

Shout it

kick it on DotNetKicks.com


Summary 05.08.2009

05/08/2009

DDD

Jan Van Ryswyck talks about fluent domain methods for setting up complex aggregate roots and for implementing behavior on domain entities.

Alex James also shows how to work with fluent interfaces and how to use fluent interfaces with extension methods.

Jérémie Chassaing shows how Service Bus pattern can help in DDD with code reusability.

Ayende talks about decomposing an application into features as a way for separating different application functionality and to allow independent development.

Entity Framework

Julie Lerman shows how in EF 4.0 the function mapping feature is improved as the conceptual space also gets the function allowing it to be called from the entity directly and not through EntityClient. She also points out a bug when using T4 template instead of EntityModelCodeGenerator for CustomTool mode. Another great article is about the major improvements in EF 4.0 for working with complex types.

The Entity Framework Design team talks about the Code Only enhancements that will be available in the next release.

Alex James how to use T4 templates for generating entities that have regular expressions applied to them. He also continues his tips series :

Tip 27 – How to Implement BeforeSave Validation

Tip 28 – How to implement an Eager Loading strategy

Tip 29 – How to avoid LazyLoad or Load() reader issues

Design Patterns

Don Smith has an excellent about the usage of Model View ViewModel (MVVM) pattern and how to cleanly separate the View from the ViewModel in different scenarios including data bindings, animations, commands and parameters.

Architecture

Sean Chambers has a great series about code refactoring.

T4

Oleg Sych talks about the customization of the TFS Process Guidance with T4.

Shout it

kick it on DotNetKicks.com


Summary 11.06.2009 – 02.07.2009

02/07/2009

ASP.NET MVC

Eric Hexter writes about a framework of input builders (part 1, part 2, part 3 and part 4) which are expression based strongly typed input helpers.

David Ebbo has a great article about ASP.NET MVC T4 template doing generation at design time instead of runtime.

ASP.NET MVC for Visual Studio 2010 beta is available on Codeplex!

Design patterns

Jeremy Miller has an excellent article on MSDN Magazine about Unit of Work Pattern and Persistence Ignorance. He also has two posts on the same subject on his blog: More persistence patterns on MSDN and Persistence patterns: cascading updates.

Entity Framework 4.0

The ADO.NET Team has another great post about Change Tracking with POCO.

Danny Simmons points to two excellent posts about producing a POCO repository with the EF and LINQ Expression Trees and the Specification Pattern. Danny continues his D3 development showing some great features of EF4:

Debugging

Tess has an excellent post about debugging .NET 4.0 dumps in Visual Studio 2010. She also points out a nice post about the debugging features coming in Visual Studio 2010.

Visual Studio 2010

The Visual Web Developer Team shows the changes in the Publish dialog in a web application and the updates to FTP publishing. They also show how the user can set the database package options in web applications.

Daniel Moth shows the Method View feature of the Parallel Stacks window. He also published 2 screencasts about Parallel Tasks and Parallel Stacks on Channel 9.

Moq

Bertrand shows how to can mock indexer setters with Moq.

RIA

Vijay has a very nice article about unit testing business logic in RIA Services.

DDD

Yves has an excellent presentation about DDD that basically sums up his articles so far.

C# 4.0

Sam Ng keeps posting about the new features in C# 4.0 talking about COM interop.


Summary 06.05.2009

05/05/2009

ASP.NET AJAX 4.0

Fritz Onion talks about client-side data binding in ASP.NET AJAX 4.0.

C# 4.0

Kirill Osenkov has a nice sample for C# 4.0’s dynamic feature.

Design patterns

MVVM(Model-View-ViewModel) is a relatively new pattern around used especially in the WPF and Silverlight applications. More about it in the following articles:

If you are looking for guidance, go check the MVVM toolkit for WPF.

Security

Using Windows Authentication across domain boundaries in enterprise environments is generally the source for many long hours trying to pin down the problem. As usual, Oleg Sych has a very useful article on the matter.

SQL Server 2008

Bob Beauchemin has a very interesting article on FileStreams which are one of the new features of SQL Server 2008.

NHibernate

If you were wondering what’s happening lately with Fluent NHibernate, go read James Gregory article!

ASP.NET Dynamic Data

Simone Ince has a nice article about adding ASP.NET Dynamic Data for an existing website. This is a common scenario that might be used for quickly adding an administration section to an existing website.

kick it on DotNetKicks.com


Summary 27.04.2009

27/04/2009

Sharp

Luis presents how the duplicate entity validator works and what is inside the SharpArch.Web namespace.

DDD

Jonathan Oliver joins the debate Greg and Ayende had over the past few days, sharing his ideas on the repository pattern. Jonathan’s concerns summarize some of the most frequently asked questions around repositories:

  1. How do we best query the repository to find the particular aggregates that we care about?
  2. How do we handle UI concerns such as paging within the repository?
  3. Does the repository even care about UI concerns?
  4. How do we display domain objects to the UI (this is only slightly related to the repository pattern).
  5. How do we modify our domain objects to support lazy loading?

ASP.NET MVC

Keyvan Nayyeri, one of the authors of Beginning ASP.NET MVC 1.0, writes about IRouteHandler.

The storm continues as Chad Meyer presents his opinion on MVC vs. WebForms. While Chad puts the two technologies head to head, go and watch this video where ASP.NET MVC and WebForms are combined. Simone Chiaretta, the other author of Beginning ASP.NET MVC 1.0, shares his thoughts on when and why ASP.NET MVC should be adopted.

ASP.NET

Scott Mitchell announces that another four hosting tutorials are now available on www.asp.net. These tutorials follow the first six tutorials on hosting.

Windows 7

The RC release will be out this week and the Public Sector Developer Team published a few useful links with the changes from the beta.

Visual Studio 2008

Rick Strahl gives another great tip on how to create template projects.

Internet Explorer 8

Check-out this interesting video on box sizing and vertical text. John Hrvatin, the Lead Program Manager on IE Team, has some great tips on how to improve the application performance with IE8.

TDD

Karl Seguin writes about the 7 phases of unit testing. Where are you?

ASP.NET 4.0

Remember Control Adapters? Adapter Groups were supposed to be included in ASP.NET 4.0 but Scott Galloway announces that they will be out in the next beta.

Agile development

Nick Malik has a great article on agile development and agile architecture and what are the required changes from the classic waterfall and BDUF approach in order to improve the delivery.

Architecture

Karl Seguin continues his tutorial on building a validation framework showing how client-side validation can be done.

C#

Eric Lippert as usual has a great post explaining what is wrong when value types are by definition as variables allocated on the stack.

kick it on DotNetKicks.com


Summary 24.04.2009 – 26.04.2009

26/04/2009

Visual Studio 2008

I remember looking for a way to start a single project in a solution having multiple projects. Now, the Web Developer Tips team has put a nice post about it.

Enterprise Library

David Hayden has a new screencast on Data Access Application Block.

Expression

Somasegar has a nice post on SketchFlow – a add on for Expression Blend 3. It seems to be a great tool for providing prototypes in the early stages of the project. You might also take a look at Balsamiq for creating great UI mockups in no time.

Entity Framework

Moses wrote a few days ago about his wish of having something like DataLoadOptions for ObjectContext. Stuart Little wrote today a very interesting post with a few extensions to ObjectQuery.Include to make it strongly typed. I think that it could be something that Moses can use for his approach.

Alex James continues his series of tips showing how we can use AttachTo() in combination with projections and avoid loading unnecessary properties.

ASP.NET

Scott Galloway has a nice post on how to build a ASP.NET control to combine and compress CSS files, reducing the number of requests and the traffic between the client and the server.

If you are looking for a DataReader – JSON converter, go check Rick Strahl post!

DDD

Yves continues his saga showing the importance of assertions for controlling the effects of commands.

NHibernate

Peter Bromberg has a nice overview on Fluent NHibernate automapping.

Luis Abreu takes a look to NHibernate Validator here and here while analyzing  S#arp framework.

ASP.NET MVC

After Oxite and Kobe, there is a lot of debate on the framework itself.

Karl Seguin asks whether ASP.NET MVC is half-baked or not. Jeffrey Palermo has a nice list of cases when ASP.NET MVC should NOT be used. Jeremy Miller has its own list of pros and cons for using ASP.NET MVC. Rob Conery has an excellent post on why we should learn MVC.

Scott Allen has a very interesting post on model binders.

C#

CoNatural continues the series on asynchronous programming showing how to search asynchronously with ASP.NET MVC and JQuery.

Design patterns

Greg and Ayende continue their debate on the repository pattern. Greg says that having a repository makes an explicit boundary around our domain. By simply having a contract of those boundaries we can adhere to the “onion architecture”. Ayende replies to Greg about the lack of explicit boundaries in cases such as transparent lazy loading. He also presents his concerns about the need of abstracting away the persistence without having a clear requirement in this direction.

I think that both of them have interpreted each other statements without having the other’s complete context and as Ayende says in his post, not having the complete context invalidates the entire argument.

Sharp

Luis Abreu talks about repositories in S#arp.

Architecture

Karl Seguin starts a very interesting series of posts showing how we can roll our own validation framework.

Ayende has a nice post about the differences between infrastructure and architecture.

kick it on DotNetKicks.com


Summary 23.04.2009

24/04/2009

ASP.NET MVC

Phil has a great post showing how we can have scripted views stored in database. Phil’s example avoids the classic approach using VirtualPathProvider and it can be run in medium trust.

As usual, Scott Hanselman has a great article on how to integrate ELMAH with ASP.NET MVC.

Lately, there is a debate on some performance issues with HtmlHelper.RenderPartial method. Simone wrote about it and Kazi Mansur Rashid continues Simone’s analysis.

Jimmy Bogard has a great post about tips on development with MVC. I highly recommend you to read it!

Design Patterns

Ayende started a few days ago an interesting talk about the repository pattern and its use. Between Greg and Ayende started a debate on each one’s blog. Greg says that the repository pattern offers a clean separation like a boundary and it easily facilitates the replacement of the persistence framework. He supports Ayende’s idea that Query objects should be used instead of named query methods as they are not SOLID as the repository’s interface is modified each and every time a method is added or changed. On the other hand, OO principles should be followed IN GENERAL but as the repository can be seen as a boundary, he acknowledges the fact that by having a repository with query named methods, the replacement of the persistence mechanism would be much easier as everything is described in the repository’s interface. With query objects we would have additional concerns with building dynamic criteria. Greg recommends command and query separation and the use of a separate layer for querying purposes only leaving the repositories concerned only with commands.

Ayende tries to clear things out and I think he did a great job. I think that both of them where speaking about things in different contexts each one being right in his own context.

The bottom line in my opinion is that one should not use the repository pattern unless a layer/tier boundary is needed. This is the case when for example one might think of changing the persistence mechanism. Otherwise, the persistence frameworks out there have become smart enough to be used directly.

Architecture

Anne Epstein talks about multi tenant applications where multiple databases are used saying that Ayende’s opinion from a few months back was correct.

DDD

Howard Dierking gives a sneak peak at his editor draft notes on the June articles about Aggregates of MSDN Magazine.

Yves Goeleven talks about CQS (Command Query Separation).

Entity Framework

Wriju wrote a nice post on how to attach a detached entity.

Muhammad wants to propose a new approach for eager loading in EF using a class similar to DataLoadOptions from LINQ to SQL.

.NET 4.0

In complement to my previous post on resources for learning the new features available in .NET 4.0, Daniel Moth just pointed out that Eric Eilebrecht has started a series of posts on ThreadPool improvements in CLR 4.0.

MSDeploy

A few days ago, I have linked to the MSDeploy team’s announcement about the RC release of MSBuild. Today, the team has posted a new article about the changes in the release.

Geneva

Vittorio Bertocci posted to excellent articles on how to write an ASP.NET Membership website using the Geneva framework. You can find the first part here and the second one here.

kick it on DotNetKicks.com


Follow

Get every new post delivered to your Inbox.