We propose an architecture-driven design approach based on the concept of proto-frameworks, aiming to provide an intermediate stage in the transition from architectural models to object-oriented frameworks or applications. The approach is based on an object-oriented materialization of domain-specific architectures derived from domain models, that is the production of concrete computational representations of abstract architectural descriptions using object-oriented technology. A proto-framework materializes, in object-oriented terms, the infrastructure required for cooperation and communication of each architectural component type. In other words, a proto-framework provides the essential abstractions to derive new applications or frameworks by inheritance from the proto-framework classes. In this case, the framework provides very abstract hooks to map specific domain components into a class hierarchy in a white-box fashion. This mapping can produce a specific application, but more important yet, it can produce new domain-specific frameworks that adopt the underlying architectural model. Using an architecture-oriented approach, developers are able to better identify relevant concerns and reason about them at the very conception of the system architecture.