﻿<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>Ayende @ Rahien</title><link>http://ayende.com</link><description>Ayende @ Rahien</description><copyright>Copyright (C) Ayende Rahien  2004 - 2021 (c) 2026</copyright><ttl>60</ttl><item><title>Rovanpiera commented on Taking a look at S#arp Lite&amp;ndash;final thoughts</title><description>What is the difference between repositories and queries? As I understand they are both use NHibernate in this sample. So they are both abstraction over abstraction.</description><link>http://ayende.com/153569/taking-a-look-at-s-arp-lite-final-thoughts#comment22</link><guid>http://ayende.com/153569/taking-a-look-at-s-arp-lite-final-thoughts#comment22</guid><pubDate>Wed, 21 Mar 2012 17:07:27 GMT</pubDate></item><item><title>Billy McCafferty commented on Taking a look at S#arp Lite&amp;ndash;final thoughts</title><description>@dotnetchris, actually, you don't have to use the DetachedCriteria.  In fact, you can still use NHibernate directly if you find LINQ to NHibernate to be inadequate for any specific scenarios.

This provides as good as any opportunity to provide a couple of links to specifically address dotnetchris' concern, as well as discussion concerning my response to Ayende's series of posts on S#arp Lite:

* Encapsulating NHibernate-specific calls within a custom repository - http://groups.google.com/group/sharp-lite/browse_thread/thread/c653325f5f61e46c

* Why have a task layer? - http://groups.google.com/group/sharp-lite/browse_thread/thread/692c4baf1454cc

* A direct response to the Ayende's review - http://groups.google.com/group/sharp-lite/browse_thread/thread/77a4ed0b857427b0

When it comes down to it; if S#arp Lite jives with the way you/your-team wants to develop, then consider using it.  If it doesn't, then don't. ;)</description><link>http://ayende.com/153569/taking-a-look-at-s-arp-lite-final-thoughts#comment21</link><guid>http://ayende.com/153569/taking-a-look-at-s-arp-lite-final-thoughts#comment21</guid><pubDate>Mon, 19 Mar 2012 20:03:36 GMT</pubDate></item><item><title>dotnetchris commented on Taking a look at S#arp Lite&amp;ndash;final thoughts</title><description>If they want to separate responsibilities like this, YOU HAVE TO use the DetachedCriteria construct. This would allow you to solve that need to include the child items to avoid the N+1 problem.</description><link>http://ayende.com/153569/taking-a-look-at-s-arp-lite-final-thoughts#comment20</link><guid>http://ayende.com/153569/taking-a-look-at-s-arp-lite-final-thoughts#comment20</guid><pubDate>Thu, 15 Mar 2012 20:26:57 GMT</pubDate></item><item><title>Lev Gorodinski commented on Taking a look at S#arp Lite&amp;ndash;final thoughts</title><description>"&lt;b&gt;Finally, whenever possible, push things to the infrastructure, it is usually pretty good and that is the right level of handling things like persistence, validation, etc.&lt;/b&gt;"

I agree. However, one must be weary of creating needless abstractions in this way, as you caution. In fact I believe the repository abstraction and in particular the overly abstract LINQ specification pattern based repository results from an attempt to push things to infrastructure by detecting patterns in data access. Just like validation injected directly into the ORM is a result of the observation that the ORM persists entities, entities must be validated before persistence, so lets inject validation.</description><link>http://ayende.com/153569/taking-a-look-at-s-arp-lite-final-thoughts#comment19</link><guid>http://ayende.com/153569/taking-a-look-at-s-arp-lite-final-thoughts#comment19</guid><pubDate>Mon, 12 Mar 2012 03:40:46 GMT</pubDate></item><item><title>Bystrik Jurina commented on Taking a look at S#arp Lite&amp;ndash;final thoughts</title><description>I think Ayendes post about SharpArch is harmfull. It creates sense that SharpArch is bad framework, but that is far from truth. Maybe it's not perfect, but it's still better than 90% of handroll solutions.  And for example RacoonBlog has also code smells. Some controller methods are really fat. Nothing is perfect...</description><link>http://ayende.com/153569/taking-a-look-at-s-arp-lite-final-thoughts#comment18</link><guid>http://ayende.com/153569/taking-a-look-at-s-arp-lite-final-thoughts#comment18</guid><pubDate>Fri, 09 Mar 2012 16:26:45 GMT</pubDate></item><item><title>Shaddix commented on Taking a look at S#arp Lite&amp;ndash;final thoughts</title><description>Sorry for ugly code formatting, it seems parser ate my line-breaks.</description><link>http://ayende.com/153569/taking-a-look-at-s-arp-lite-final-thoughts#comment17</link><guid>http://ayende.com/153569/taking-a-look-at-s-arp-lite-final-thoughts#comment17</guid><pubDate>Fri, 09 Mar 2012 07:26:36 GMT</pubDate></item><item><title>Shaddix commented on Taking a look at S#arp Lite&amp;ndash;final thoughts</title><description>Ayende, I'm quite interested in using validation that way, as well as in another point from your previous post:
&gt; Extend the model binder so it would load the entity from NHibernate and bind to that instance directly.

I just opened up RacoonBlog to take a look at an example of those, but there's still 
&gt; public ActionResult Add(UserInput input) {
&gt;    if (!ModelState.IsValid)
&gt;        return View("Edit", input);
&gt;    var user = new User();
&gt;    input.MapPropertiesToInstance(user);
&gt;    RavenSession.Store(user);
&gt;    return RedirectToAction("Index");
&gt;}
Which both uses validation right inside an action and AutoMapper to map user input to db-entity.
And that's what I'm used to in my own projects, because view/input models usually differs at least a bit from what I have in DB.
Could you please suggest an oss-example where principles that you've mentioned are used?</description><link>http://ayende.com/153569/taking-a-look-at-s-arp-lite-final-thoughts#comment16</link><guid>http://ayende.com/153569/taking-a-look-at-s-arp-lite-final-thoughts#comment16</guid><pubDate>Fri, 09 Mar 2012 07:25:03 GMT</pubDate></item><item><title>Tien Do commented on Taking a look at S#arp Lite&amp;ndash;final thoughts</title><description>I don't know why people keep inventing these frameworks, did they just create these projects for their work and then made them open source later?

@Ayende: They asked you for a review e.g. this project, Ntier architecture from MS Spain etc., did you get their feedback later since there were many negative points?

P.S: I can't login by Goolge, the error is No OpenID endpoint found.</description><link>http://ayende.com/153569/taking-a-look-at-s-arp-lite-final-thoughts#comment15</link><guid>http://ayende.com/153569/taking-a-look-at-s-arp-lite-final-thoughts#comment15</guid><pubDate>Fri, 09 Mar 2012 04:24:50 GMT</pubDate></item><item><title>Harry Steinhilber commented on Taking a look at S#arp Lite&amp;ndash;final thoughts</title><description>@magellings, 

You could also look at [Effectus](https://github.com/ayende/effectus) and [Alexandria](https://github.com/ayende/Alexandria). These both use NHibernate.</description><link>http://ayende.com/153569/taking-a-look-at-s-arp-lite-final-thoughts#comment14</link><guid>http://ayende.com/153569/taking-a-look-at-s-arp-lite-final-thoughts#comment14</guid><pubDate>Fri, 09 Mar 2012 03:39:00 GMT</pubDate></item><item><title>Get Real commented on Taking a look at S#arp Lite&amp;ndash;final thoughts</title><description>@magellings

&gt;When's Ayende's framework (or best practice example solution) coming?

I hate to say it, but you just inadvertently outed yourself as a newbie.  Dont worry though, it happens weekly, if not daily.

This guy is never going to do this.  Remember MADCO, or MATCO, or whatever ??  Heck it's been so long I bet he even forgot the name.  I few rough screen drawings and he lost interest.

It's much easier to dissect and destroy instead of laying your own footprints in the concrete - lest they be dissected by someone else.

Yawn, smack, smack, Ayende, arent you bored by reviewing other peoples work by now?</description><link>http://ayende.com/153569/taking-a-look-at-s-arp-lite-final-thoughts#comment13</link><guid>http://ayende.com/153569/taking-a-look-at-s-arp-lite-final-thoughts#comment13</guid><pubDate>Fri, 09 Mar 2012 02:14:08 GMT</pubDate></item><item><title>Christopher Wright commented on Taking a look at S#arp Lite&amp;ndash;final thoughts</title><description>I quite like having validation wired into your ORM. Like DB constraints but usable. I'll keep that in mind next time I'm using NHibernate (though I presume Hibernate has something similar).

Granted, you need to have some nicer stuff in place in case of bad input, but that style of validation has the advantage of being all-encompassing.</description><link>http://ayende.com/153569/taking-a-look-at-s-arp-lite-final-thoughts#comment12</link><guid>http://ayende.com/153569/taking-a-look-at-s-arp-lite-final-thoughts#comment12</guid><pubDate>Fri, 09 Mar 2012 01:24:39 GMT</pubDate></item><item><title>magellings commented on Taking a look at S#arp Lite&amp;ndash;final thoughts</title><description>raccoonblog uses ravendb...a document database.  I was leaning more towards a best practice NHibernate example...</description><link>http://ayende.com/153569/taking-a-look-at-s-arp-lite-final-thoughts#comment11</link><guid>http://ayende.com/153569/taking-a-look-at-s-arp-lite-final-thoughts#comment11</guid><pubDate>Thu, 08 Mar 2012 22:03:19 GMT</pubDate></item><item><title>Bystrik Jurina commented on Taking a look at S#arp Lite&amp;ndash;final thoughts</title><description>Your ValidationListener works nice in theory but what about integration in Asp.Net MVC validation pipeline? I also don't like some aspects of SharpArch. For example I don't like Tasks and I prefer Fluent Validation instead validation attributes, but I must defend the Repository pattern. NHibernate Session exposes at least 50 public properties and methods. WTF??? Session has stuff like Connection, Dispose(), ActiveEntityMode and so on. Such API should be used in Controller? I think generic Repository exposing IQueriable, Get adn Remove methods is very cheap pattern and it can be easily extended if neccessary. </description><link>http://ayende.com/153569/taking-a-look-at-s-arp-lite-final-thoughts#comment10</link><guid>http://ayende.com/153569/taking-a-look-at-s-arp-lite-final-thoughts#comment10</guid><pubDate>Thu, 08 Mar 2012 21:48:55 GMT</pubDate></item><item><title>Peter commented on Taking a look at S#arp Lite&amp;ndash;final thoughts</title><description>magelings, he said specifically raccoonblog was built recently with these principles, so go look for that.</description><link>http://ayende.com/153569/taking-a-look-at-s-arp-lite-final-thoughts#comment9</link><guid>http://ayende.com/153569/taking-a-look-at-s-arp-lite-final-thoughts#comment9</guid><pubDate>Thu, 08 Mar 2012 20:26:51 GMT</pubDate></item><item><title>Robert O'Donnell commented on Taking a look at S#arp Lite&amp;ndash;final thoughts</title><description>I wonder if rather than using a "framework" perhaps having a scaffolding that uses a bunch of libraries would be a better way to go...</description><link>http://ayende.com/153569/taking-a-look-at-s-arp-lite-final-thoughts#comment8</link><guid>http://ayende.com/153569/taking-a-look-at-s-arp-lite-final-thoughts#comment8</guid><pubDate>Thu, 08 Mar 2012 19:31:29 GMT</pubDate></item><item><title>John Farrell commented on Taking a look at S#arp Lite&amp;ndash;final thoughts</title><description>@magelings: https://github.com/ayende</description><link>http://ayende.com/153569/taking-a-look-at-s-arp-lite-final-thoughts#comment7</link><guid>http://ayende.com/153569/taking-a-look-at-s-arp-lite-final-thoughts#comment7</guid><pubDate>Thu, 08 Mar 2012 17:26:46 GMT</pubDate></item><item><title>Dmitry commented on Taking a look at S#arp Lite&amp;ndash;final thoughts</title><description>@ayende,

Did you find any benefits of using this framework? Querying is something that can easily abstracted using straight NHibernate.</description><link>http://ayende.com/153569/taking-a-look-at-s-arp-lite-final-thoughts#comment6</link><guid>http://ayende.com/153569/taking-a-look-at-s-arp-lite-final-thoughts#comment6</guid><pubDate>Thu, 08 Mar 2012 17:14:31 GMT</pubDate></item><item><title>magellings commented on Taking a look at S#arp Lite&amp;ndash;final thoughts</title><description>When's Ayende's framework (or best practice example solution) coming? :) Something that brings together all of what you've been critiquing lately into a concrete example of the "right way" to do things.  I'm sure a lot of developers would be inspired by it.  It would be a great service to the community and serve the same purpose the S#arp authors are providing.  Not just critiquing but a concrete example and valid attempt to make the lives of us developers easier.
</description><link>http://ayende.com/153569/taking-a-look-at-s-arp-lite-final-thoughts#comment5</link><guid>http://ayende.com/153569/taking-a-look-at-s-arp-lite-final-thoughts#comment5</guid><pubDate>Thu, 08 Mar 2012 17:02:06 GMT</pubDate></item><item><title>Moses Fetters commented on Taking a look at S#arp Lite&amp;ndash;final thoughts</title><description>I would love to see a discussion about the "query object" pattern and the pros and cons of using it.

I have read Fabio's take on it here http://fabiomaulo.blogspot.com/2010/07/enhanced-query-object.html</description><link>http://ayende.com/153569/taking-a-look-at-s-arp-lite-final-thoughts#comment4</link><guid>http://ayende.com/153569/taking-a-look-at-s-arp-lite-final-thoughts#comment4</guid><pubDate>Thu, 08 Mar 2012 15:50:46 GMT</pubDate></item><item><title>nick commented on Taking a look at S#arp Lite&amp;ndash;final thoughts</title><description>Maybe it would have been good to elaborate on a few more of the good points then Ayende?</description><link>http://ayende.com/153569/taking-a-look-at-s-arp-lite-final-thoughts#comment3</link><guid>http://ayende.com/153569/taking-a-look-at-s-arp-lite-final-thoughts#comment3</guid><pubDate>Thu, 08 Mar 2012 13:42:22 GMT</pubDate></item><item><title>nick commented on Taking a look at S#arp Lite&amp;ndash;final thoughts</title><description>@Wayen M I believe it is called the specification pattern</description><link>http://ayende.com/153569/taking-a-look-at-s-arp-lite-final-thoughts#comment2</link><guid>http://ayende.com/153569/taking-a-look-at-s-arp-lite-final-thoughts#comment2</guid><pubDate>Thu, 08 Mar 2012 13:41:24 GMT</pubDate></item><item><title>Wayne M commented on Taking a look at S#arp Lite&amp;ndash;final thoughts</title><description>I find it very interesting that so many developers still abstract away the CRUD functionality even when they don't have to.

I would still like to see more examples/discussion about the "query object" pattern, as I can't seem to find much in the way of concrete samples and it seems like a very good idea to start using.</description><link>http://ayende.com/153569/taking-a-look-at-s-arp-lite-final-thoughts#comment1</link><guid>http://ayende.com/153569/taking-a-look-at-s-arp-lite-final-thoughts#comment1</guid><pubDate>Thu, 08 Mar 2012 13:06:02 GMT</pubDate></item></channel></rss>