tag:blogger.com,1999:blog-22587889.post-69593103482739979722007-09-26T01:02:00.000+05:302007-09-26T01:02:00.000+05:30Yes, it's possible. Why not? The persistence and b...Yes, it's possible. Why not? The persistence and business aspects may be tightly-coupled, but the persistence part is mostly transparent. Besides, what would be the benefit of decoupling them? In Java it's a common practice to be able to unit test business logic in isolation from CRUD, but that's not a concern with Ruby.<BR/><BR/>I believe that the complexity of a domain scales linearly in proportion to its size. What I mean is that a larger domain may be more complex in that it has more entities and more relationships, but it doesn't get exponentially or logarithmically more complicated with size. <BR/><BR/>The static vs dynamic typing argument is separate. Static typing has benefits, but so does dynamic/duck typing. In practice, dynamic typing doesn't bite you as often as you might think. To put it in a pure Java analogy, consider how often (read: rarely) you put the wrong kind of object into a Java 1.4 collection and got a ClassCastException when getting it out. It's just not that big of a deal (but we ended up with generics anyway).<BR/><BR/>The safety net is unit tests, not static type checking. You do write unit tests for Java apps, right? You would for Ruby apps too.Jeremy Weiskottenhttp://www.blogger.com/profile/01868696039970401724noreply@blogger.com