Using Design Patterns in Scientific Applications by Kedar Aras