﻿<?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>Ayende Rahien commented on Responding to Effectus commentary</title><description>Chreian,
  
This isn't mine, but it looks like it would be appropriate.
  
[github.com/.../Nerd-Dinner-with-Fluent-NHibernate](http://github.com/johnvpetersen/Nerd-Dinner-with-Fluent-NHibernate)</description><link>http://ayende.com/4355/responding-to-effectus-commentary#comment9</link><guid>http://ayende.com/4355/responding-to-effectus-commentary#comment9</guid><pubDate>Thu, 21 Jan 2010 07:46:50 GMT</pubDate></item><item><title>Cherian Thomas commented on Responding to Effectus commentary</title><description>Oren,
  
    How can i access the NH ported NerdDinner code?
</description><link>http://ayende.com/4355/responding-to-effectus-commentary#comment8</link><guid>http://ayende.com/4355/responding-to-effectus-commentary#comment8</guid><pubDate>Mon, 18 Jan 2010 13:37:32 GMT</pubDate></item><item><title>Jos&amp;#233; Romaniello commented on Responding to Effectus commentary</title><description>@Onur Ayende's approach is interesting but the life is not black and white. However, if you want to be a real pragmatic developer. Better you forget about the Separation of Concern dogma and start to develop in the event handler of a button.Click with ado.net.
</description><link>http://ayende.com/4355/responding-to-effectus-commentary#comment7</link><guid>http://ayende.com/4355/responding-to-effectus-commentary#comment7</guid><pubDate>Sat, 09 Jan 2010 14:06:57 GMT</pubDate></item><item><title>Onur Gumus commented on Responding to Effectus commentary</title><description>Kudos Ayende,
  
You are one person I know who doesn't code with dogmas but real pragmatism. Kudos again!
</description><link>http://ayende.com/4355/responding-to-effectus-commentary#comment6</link><guid>http://ayende.com/4355/responding-to-effectus-commentary#comment6</guid><pubDate>Sat, 09 Jan 2010 07:19:39 GMT</pubDate></item><item><title>JeffG commented on Responding to Effectus commentary</title><description>One benefit that can be gained from the abstraction is applying business rules at the aggregate root level, and ensuring that only aggregate roots are saved.
  
If you only create repositories for aggregate roots, and don't allow direct access to nhibernate session from the presenter, then you can ensure that only aggregate wholes are persisted.
  
There is something to be said for the ddd practices
</description><link>http://ayende.com/4355/responding-to-effectus-commentary#comment5</link><guid>http://ayende.com/4355/responding-to-effectus-commentary#comment5</guid><pubDate>Sat, 09 Jan 2010 04:15:26 GMT</pubDate></item><item><title>Jos&amp;#233; Romaniello commented on Responding to Effectus commentary</title><description>@Rob an event publisher component like the one Ayende built for effectus will be nice for caliburn (if not already have).
</description><link>http://ayende.com/4355/responding-to-effectus-commentary#comment4</link><guid>http://ayende.com/4355/responding-to-effectus-commentary#comment4</guid><pubDate>Fri, 08 Jan 2010 19:21:53 GMT</pubDate></item><item><title>Ayende Rahien commented on Responding to Effectus commentary</title><description>Andrei,
  
Feel free to write it up, I currently don't need this sort of framework
</description><link>http://ayende.com/4355/responding-to-effectus-commentary#comment3</link><guid>http://ayende.com/4355/responding-to-effectus-commentary#comment3</guid><pubDate>Fri, 08 Jan 2010 15:38:21 GMT</pubDate></item><item><title>Andrei Kavaleu commented on Responding to Effectus commentary</title><description>A side note about Effectus.
  
  
The thing that impressed me is the convention used to wire up View to Presenter. That is amazing!
  
I don't like much the current implementation. But the idea is GREAT,
  
  
What do you think of writing a framework for that purpose?
  
I think that should include some annotations for methods (attributes) and compile time checking. So, IMO, PostSharp is the best choice at the beginning.
  
  
Thanks again for that idea.
  
  
P.S. Also I don't like the .View, .Presenter, .Model convention. MainView, MainPresenter, .MainModel much better but I don't like it too :)
</description><link>http://ayende.com/4355/responding-to-effectus-commentary#comment2</link><guid>http://ayende.com/4355/responding-to-effectus-commentary#comment2</guid><pubDate>Fri, 08 Jan 2010 15:02:03 GMT</pubDate></item><item><title>Jos&amp;#233; Romaniello commented on Responding to Effectus commentary</title><description>First off, thank you very much for answering my review.
  
  
My opinion:
  
  
A-About the abstraction of the framework, I see your point, and I can't add much more.
  
B-About the ISession/IStatelessSession, yes there is a difference, and yes in my code there is not an easy way to use IStatelessSession in the presenters (you can use stateless in the dao's) . However, I want to remark that the LoadPage method has EndMode = END, this means that the session is closed and disposed right after the method execution, and every call to that method will open a new session, use it, and dispose it. I don't keep the session opened in this presenter. Do you think that the memory leak is still considerable in this case?
  
C-I really like [MethodName]Error(Exception).
  
D-About the session handling in case of session errors, now I see the benefit. My example can handle this if we call Initialize in the OnException method (or OnSaveException). CpBT will close the session after the exception, and in the next call to Initialize will open a new one.
  
  
Thank you again for answering and for giving me the opportunity to learn. Which is the main reasons I run my blog.
</description><link>http://ayende.com/4355/responding-to-effectus-commentary#comment1</link><guid>http://ayende.com/4355/responding-to-effectus-commentary#comment1</guid><pubDate>Fri, 08 Jan 2010 10:36:45 GMT</pubDate></item></channel></rss>