1. A method for constructing an enterprise application, comprising: partitioning an enterprise application into a plurality of tiers; identifying a use case for the enterprise application; and constructing one or more application layer code components for each tier of the enterprise application to implement the use case, wherein one or more of the code components is constructed according to a pattern.