[TYPO3-50-general] RFC: Short filenames

Nino Martincevic don at zampano.com
Tue Jan 27 18:58:13 CET 2009


Hi Denyer.

Denyer Ec wrote
> I think I follow what you're saying, but isn't one of the priciples of
> a framework to allow "convention over configuration" (I'm sure I've
> heard that buzz-phrase somewhere...). 

Huh?
I heard of such frameworks. And for small and fast CRUD applications or 
for rapid prototyping they may be an alternative.
But not for serious applications and domains with more logic and 
behaviour then just pure data handling.

 >Permitting users to put files
 > wherever they please with no definitions would surely be a code
 > management nightmare?

I am not putting files "anywhere". And even If I'd do it wouldn't matter 
much. I also try to organize it someway, but in packages that 
communicate concepts of my problem space, not any external conventions 
that have nothing to do with my problem.
Something like ControllerHelper does not communicate anything for my 
world-famous GroceryShop...

The key to all this is:
Try to build the core of an application (the domain) with no database, 
no framework, no UI (technology) and no infastructural things in mind. 
If it just works by itself than it is good. Sure, you have to put some 
or all of the things into play.
But if you keep your domain as encapsulated and persistance- and 
reporting ignoring as possible, it will work with small change on every 
system. Well, that's also one of the key concepts in OOP, encapsulation 
and low coupling, interfaces over implementation, isn't it?
That's the reason why Flow3 offers AOP and DI/IoC.

Sure this is only possible to a certain kind of degree but THAT should 
be your real work.
When the other "systems" come into play I don't want to spend much time 
on them, this is not by business. My business is my problem domain.

> I would have thought that if you have written a whole pile of FLOW3
> code, that choosing another framework would require refactoring beyond
> simply renaming or relocating the files anyhow, so is that really a
> concern ? I don't pretend to know anything about the end code of a
> FLOW3 package yet, so please be gentle!

If you do it right, not that much.
E.g. if you have a (thin) persistance adapter you could use every ORM/AR 
or whatever behind it. You'll just have to rewrite the mappings.
And if you have thin controllers in a MVC frameworks, just delegating 
commands and queries to your applications services (sometimes known as 
"Model" or Application Layer), you could take that code and write 
hand-made front controllers. It would work again.

But if your code and more worse your normally persistance-ignoring 
domain model depends on externals, you'd have a problem, yes.
Well, that's called dependant, cohesive and low-coupled, always a bad thing.

It's hard work, did I tell something else?
;-)



More information about the TYPO3-project-5_0-general mailing list