Ayende has been publishing a series of blog posts reviewing the V1.0 of the NLayerApp Sample App (Note we made V2.0 public a few weeks ago, so most of the code issues he highlights do not apply now).
We’ve been taken into account every of those posts as well as every comment from the community in his blog. Some comments to Ayende’s posts were also good points to think about.
First of all, we are thankful to Ayende and anyone who provides feedback in order to improve our initiative (SampleApp & Guidance) for the community and we will always take into account any comment and feedback.
Second, this is a local initiative gathering experiences from projects, mostly from the Spain community with the collaboration of MVPs, local Microsoft people and some partners. This is not a Microsoft Corp initiative.
Regarding the specific posts that Ayende has been publishing about the NLayerApp V1.0, while we don’t agree on some of the global opinions about what a sample app should be, we acknowledge on some of the improvable code he pointed out, and the points we agree that were issues, were fixed in V2.0 before Ayende published his series. There are also a few other points where we don’t agree, like the size of the SampleApp where we want to show simple and isolated scenarios that anybody can understand (Orders, Customers, simplified Bank Transfers, etc.) showing typical pattern implementations using Entity Framework 4.1 Code-First, or the post about the ‘Query Specification Pattern’ where we think it is useful for many scenarios, like composite queries.
Here you can see a few threads where we explained the modifications because of Ayende’s feedback:
DI & WCF (INSTANCE PROVIDER):
WCF & Exception Handling Improvements for V2.0
Again, we want to highlight that we are thankful to Ayende and we acknowledge that anyone can always improve his code. Therefore, his critics are positive for the community and to this project because he helped us to improve some areas of code in our sample application.
Finally, we’d like to say that this sample app is only a reference for several patterns explained in this guidance you can download and review (Currently draft chapters). Anyone should review it jointly (Guide+SampleApp):
We will appreciate any constructive and specific feedback you can provide and we will take it into account.
Cesar de la Torre