Department of Computer Science at UH

University of Houston

Department of Computer Science

In Partial Fulfillment of the Requirements for the Degree of
Master of Science

Ross Wright

Will defend his thesis

Using Services Containers to Simplify
Object-oriented Software Architectures.

Abstract

Object-oriented software architectures for large-scale problems can become very structurally complex when the principles of object-oriented design are diligently applied. Specifically, the Dependency Inversion Principle calls for a prohibition on references between concrete classes. This precipitates the extensive use of abstract interfaces for references and factories for object creation. This thesis walks through the refactoring of an object-oriented architecture implemented in C# to illustrate how this complexity arises, and then applies the use of service containers to simplify the structure. The Service Container concept is extended beyond widely-scoped services to store any object relevant to a smaller context, and then further expanded to expose factory services in such a way that factory classes can be replaced by factory closures. The end result of these additions and optimizations is a pragmatic, optimized, low-cohesion, object-oriented architecture uncompromisingly compliant with object-oriented design principles.

Date: Friday, February 6, 2009
Time: 1:00 PM
Place: 564-PGH
Faculty, students, and the general public are invited.
Advisor: Prof Ernst Leiss