There are a number of reasons.

Convention over configuration.  Your @Page annotation is just another
bit of configuration that is obviated by putting classes in a known
directory.  Although the layout mandated by T5 is required, it is also
the layout that I recommended for T4, even though more configuration
was necessary there.  Rather than having page classes scattered about,
the mandated structure means that there is a very natural and
predictable mapping from class name to logical name (the logical name
being the name that appears in URLs).

Class loading:  As pointed out elsewhere in this thread, having the
specific packages allows Tapestry to greatly reduce the number of
files it must scan at startup time (and then monitor for changes).  T5
page, component and mixin classes must be kept separate for ordinary
classes, as Tapestry does sophisticated conversion of the classes as
they are loaded.

You compared against JPA but JPA does its bytecode enhancement at
build time.  Tapestry does it at runtime, which is integrated into
T5's automatic reloading of changed (component) classes.

On Dec 26, 2007 3:09 AM, Mohammad Shamsi <[EMAIL PROTECTED]> wrote:
> Hi,
>
> i want to know that why i should place my pages and components in special
> folder ?
>
> any idea ?
> --
> sincerely yours
> M. H. Shamsi
>



-- 
Howard M. Lewis Ship

Creator Apache Tapestry and Apache HiveMind

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to