Any takers?
No?
Thought as much. I finally got myself working on the feared last ticket. I knew it would not be trivial, but I thought I'd get it done in a few hours, just as long as I would sit in front of the computer undisturbed (not a chance of that happening...). But I've come to realize that the whole architecture of the Model class is basically crap.
It's not all that much of a surprise, though – when I first started working on the ORM side of things, I had no idea where to start. So I added something here and another thing there and as a lump sum of chances I got something that worked fine in basic situations.
But now, looking at it a few months later, especially now that I've been working on the crazy tight typing and organized structure of Java code, what I've got here is something horrendously inflexible and clunky code. As the code stands today, implementing support for extracting parts of a time field (e.g. filtering by year from a timestamp) would make the code just even more ugly.
Normally I would keep this as secondary priority, just trying to deliver something that is nice and pleasant to use from the user's standpoint (spaghetti or no spaghetti). But the Model/Entries concept is something that I feel important to keep as maintainable as possible, even at the cost of some performance. I currently have no intentions of delivering an ORM system that would completely make manual SQL queries entirely obsolete. That would be just crazy. LightFrame is not, and does not contain, a complete ORM system and tries not to be like Propel.
Right now, I'm trying to build an open-ended framework that does something useful at the getgo. Sure, this will include an ORM system that is useful and not crippled. Displacing Propel might come in the future, but not in the first releases, not by a long shot. But the Model-system will evolve as needs grow and there's time to work on it, and there's lot that can be done in that aspect. That's why I probably need to rewrite model.php, because it currently can't grow much more than what it can do right now.
So, LightFrame Developer Release 1 will most probably be delayed a bit from my imaginary release date of 30.8.08...
Monday, July 28, 2008
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment