Summary 18.07.2009 – 04.08.2009

04/08/2009

Visual Studio 2010

The 28th episode on Channe9 talks about the new historical debugger while the 29th episode talks about the workflow web services.

C#

David Ebbo shows how to use the buddy class mechanism (associated metadata class) that we have in Dynamic Data applications with TypeDescriptor.

He also shows a C# compiler method overload problem that we might end up with when putting methods in global namespace and having a more generic method in a namespace declared using statements inside another namespace.

ASP.NET MVC

David Ebbo released the 2.4 version of his cool T4MVC. Among the changes in this release:

  • separate settings file called T4MVC.settings.t4 that gets included by the main file
  • support for views in subfolders
  • support for [ActionName] attributes
  • new parameter-less overload for all actions
  • support for placing T4MVC.tt below the application root

ASP.NET MVC 2 Preview 1 is out there! Phil Haacked, ScottGu and Scott Hanselman have all the details. Phil also has a separate article about the new Areas feature.

Rick Strahl shows how to embed resources inside a View using both reflection and Page object.

NHibernate

David Hayden announces the release of NHibernate 2.1. and NHibernate Linq 1.0.

PostSharp

PostSharp 1.5 is out!

ASP.NET

Simone Ince has an excellent post about monitoring the ASP.NET caching API behaviour.

If you are familiar to the way Dynamic Data template fields work, you might also find useful FormFields.NET.

DDD

Udi Dahan has an excellent article in MSDN Magazine about the Domain Model Pattern and how domain events can greatly improve the general architecture.

Architecture

Karl Seguin has an update to his excellent free ebook Foundations of Programming. He shows how to build better software explaining concepts like:

  • Domain Driven Design
  • Persistence
  • Dependency Injection
  • Unit Testing
  • Object Relational Mappers
  • Working with the Memory
  • How to work with Exceptions

Don Smith talks about a new guidance project for Data Access. I think that providing guidance for this area will be very helpful.

Advertisements

Summary 09.05.2009

09/05/2009

ASP.NET MVC

Keyvan continues the posts about ASP.NET MVC showing how to implement your own CustomControllerFactory taking in consideration the client regional settings.

Debugging

Tess points out StackViewer – a cool tool for viewing the stack trace of a running applications in .NET 2.0. As it only attaches, takes a snap of the stack and then detaches, it makes a perfect candidate for debugging performance/hangs in various applications.

Parallel Programming

Soma announces the release of Axum – a language designed for building parallel applications. Matthew Podwysocki also has some details about Axum. For more information, go to the Axum Team Blog.

WCF

Christian Weyer has some excellent posts on what’s new in .NET for WCF:

ASP.NET

Scott Galloway has a very interesting post about removing the CSS inline style GridView comes with.

NHibernate

Ayende continues his series of inspiring posts with a couple more:

Sharp

Luis continues talking about Sharp :

Multithreading

Luis has also started a series of posts about multithreading:

kick it on DotNetKicks.com


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 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 21.04.2009

22/04/2009

NHibernate

Ayende continues the posts on mapping talking about <many-to-any/>.

Derik Whittaker shows how to create a nested “Or” statement using criteria convention.

ASP.NET

Scott Mitchell wrote an interesting article about dynamically generating and caching images with the GeneratedImage control, a hidden gem inside the ASP.NET site on CodePlex. This control offers a nice alternative to the classic HTTP handler or ASP.NET page approaches. The only constraint is that it works with .NET 3.5 SP1 and above.

ASP.NET MVC

Maarten Malliauw shows how to combine ASP.NET MVC and MEF. The basic idea is that relying on the flexible architecture of ASP.NET MVC, we can replace DefaultControllerDactory with a controller factory of our own which in turn uses MEF for creating the desired controller.


Summary 20.04.2009

21/04/2009

DDD

Yves Goeleven continues his DDD saga explaining this time how to model less obvious concepts such as constraints and processes using the strategy and specification patterns.

Go and watch this interview with Eric Evans about the state of art in DDD!

Architecture

Udi Dahan wrote about event driven architecture using NServiceBus.

Ayende answers to Justin’s post saying the cost for implementing the abstraction of IQueryable to the upper layers could be bigger than the cost for fixing bugs that could arise from possible modifications of the query.

RIA

Nikhil wrote a great post on the View Model pattern with RIA Services. The first part of the article nicely presents how we can use the repository pattern, the DomainService and the DomainContext.

Team Foundation Server

Brian Harry has a nice post about the key concepts in Team Foundation Server 2010. Team Project Collections is something I wanted and needed for my projects.

ADO.NET Data Services

Gil Fink wrote about making cross domain calls for a data service using a proxy service.

Enterprise Library

Grigori Melnik announces the start of the development for Enterpise Library 5.0.

S#arp

Luis Abreu posted two more articles about validating objects and working with entities.

TDD

Gabriel Schenker will write a tutorial on Rhino Mocks. The first part of this tutorial introduces the two most used frameworks: Rhino Mocks and Moq.

ASP.NET AJAX 4.0

Politian continues the articles on ASP.NET AJAX 4.0 and ADO.NET Data Services writing about many to many relationships.

JavaScript

Rick Strahl wrote an excellent article on how to extend the JSON support for date objects.

NHibernate

Oren continues his talk about NHibernate mapping with <join/> and <any/>.

Oslo

Shawn Wildermuth presents how relationships are mapped in MSchema.

LINQ

Daniel Guard has two nice posts with LINQ tips. In part one, he covers eager loading, retrieving multiple entity types from a single stored procedure, intercepting CRUD operations. In part two, he shows how to control the TSQL, how to clone an entity and and to handle complex stored procedures.

ASP.NET MVC

Sankarsan has a nice tutorial about writing a layered ASP.NET MVC application with Entity Framework. In the first part, he presents the options for the O/R layer isolation. In the second part, he creates the repository. In the third part,  he creates the service layer. In the fourth part, he build the ASP.NET MVC application.


Summary 17.04.2009 – 19.04.2009

21/04/2009

Visual Studio

Another great podcast on Windows Workflow 4 is available on Channel 9.

Design patterns

Oren has posted a very nice article on the repository pattern which is used as a singleton in many cases due to lack of understanding. Oren advocates for using directly NHibernate instead of using the additional repository pattern. The problem in question here is the fact that the repository contains methods such as FindXXX which according to DDD principles should belong to query objects and that repositories should deal only with domain state changes. Udi Dahan wrote an article on whether to use query objects or methods in the repository two years ago. Very often the repository is used for achieving persistence ignorance in a DAO fashion. In DDD, the repository has the precise role of maintaining the integrity of aggregate roots.

Following his above mentioned post, Oren wrote another one explaining how mocking NHibernate can be achieved when taking the above mentioned approach where repositories aren’t used.

Justin Etheredge replies to Oren’s approach which uses the Query Object pattern considering that allowing an IQueryable<> from the repository would allow the upper layers not only to do presentation concerns actions such as paging and sorting but also modifying the query itself.

Architecture

I think that Oren’s posts on the fact that the DAL goes all the way to UI, coins the exact problem with the classical three layers applications that we encounter very often.

ASP.NET MVC

Kobe tries to be the starter kit from Microsoft for building ASP.NET MVC applications. So far, it has failed. Go and check my previous post to get all the details. Oren has also a response to Phil which leads him to the same conclusion as the one from by previous post:

Stop shipping official guidance package without involvement from the community.

Application Lifecycle Management

David Chappell announces a series of posts on Application Lifecycle Management without having the focus on Microsoft’s products an technologies.

NHibernate

Oren Eini has another posts on named queries and one-to-one mapping.

Peter Bromberg wrote a nice article on Fluent NHibernate automapping.

Gabriel Schenker has published his second article on Fluent NHibernate. He also has a nice article on 2nd level cache and multiple databases.

Velocity

If you are starting with Velocity, you might want to check Andrea Colaci’s overview.

The Velocity team gives a short explanation on regions and high availability and a tip on how client performance can be increased.

Azure

Rob Bagby posted the third part of his tutorial on building a Azure shopping cart.

TDD

Brad Wilson has a very interesting post where he chooses Design by Example instead of TDD.

Internet Explorer 8

The JScript blog wrote on how JScript versioning works in IE 8.

RIA Services

Fredrik Normen has two interesting posts on RIA having in mind Silverlight.

MS Deploy

The RC1 release of MS Deploy is available.

Sharp

After finishing his ASP.NET MVC series, Luis Abreu started to talk about the S#arp framework. The first two posts present the BaseObject class and value objects.

Entity Framework

Simone Ince has an interesting series on auditing presenting the types of auditing and how data auditing works with Entity Framework and the auditing implementation.