Jan 19, 2005 / NEO Framework - Strength and Weakness
1 commentsAs you maybe know, TargetProcess built with NEO framework. During last several months I had a good chance to dig into NEO. NEO is good indeed, but it has some weak areas. See details below.
Strength:
- Allows to test without database (mock objects are already there, so it is very easy and cool). Initially I wrote tests with database, but then try to use in-memory data. It worked great and tests results were the same. So NEO really resolve UnitTests-Database problem.
- Provides code-generation for SQL and Entity classes. In fact, I need more flexibility and going to modify code-generation templates and main xml dtd (which is the source for code-generation). But modifications seems to be easy.
- Works very stable. I did not found any bug yet.
- It really speeds-up development. I can't say exactly, but I feel that my performance increased by at least 20-30%.
Weakness:
- There is no entity inheritance in NEO. In my case additonal effort was required to workaround this issue and still that workaround was not very good.
- A little of documentation, so learning curve is pretty high (however, tutorial is on the way, so the situation will change in the near future).
- Query mechanism is poor. No joins, no group by, no sum. I appreciate domain model, but in some cases SQL provides much more power and I want to have such an option at least.
- Queries like TitleList matchingTitles = factory.Find("PublicationDate < {0}", new DateTime(2003, 1, 1)); have hardcoded field - PublicationDate. If I change the name of the field, this will not throw an exception. So I should replace them by hand (well, IDEs do have good find tools). But, anyway, this should be resolved during compile-time. NEO has templates for entities, but templates are slightly cumbersome and I don't like them as well. Maybe there is not good solution for this problem.
1 Comments:
Hi Michael,
I was wondering what you guys did with the ObjectContext... session based, shared accross all sessions.
Paul Gielens
Post a Comment
<< Home