The Refactory has done groundbreaking work in the area of framework and object evolution.  A framework is a piece of software that provides reuse at a larger granularity, enabling not only code reuse but also design reuse. These reusable designs, whether for an application or a subsystem, are expressed as a set of classes and the methods by which instances of these classes collaborate. A framework describes not only how to partition the responsibilities of a system among its components, but also how to think about a problem.  Frameworks use techniques that allow applications to specialize logic to solve a more specific problem. 

We have applied these insights as we have cultivated frameworks for a number of domains.  We start from the fundamental object-oriented techniques to achieve behavior adaptation, such as inheritance and composition, and goes through the usage of more advanced techniques, such as reflection and metadata. Utilizing contemporary techniques, The Refactory can assist your company by mentoring or consulting with your existing team of software developers on framework principles.  We can train your development team on framework basics and/or we can assist your team by developing the core of your framework by collaborating with your internal team on the results.

 A list of our clients can be found here.

"I have worked closely with Joe... utilizing Smalltalk and Java languages, Design Patterns, Object Oriented Analysis and Design processes, and framework design and implementation. It is my opinion that Joe and his colleagues at The Refactory Inc. possess superior academic knowledge coupled with the ability to disseminate that knowledge to our programmer/analysts..." -Daniel Long Sr. Technology Specialist Caterpillar Inc.