The Design patterns technology is a new research topic which aims at helping with communicating technical knowledge in a standard non-technical format. People coming from different technical backgrounds can share this knowledge and apply it in their own way. For example, pieces of designs could be the same for different applications but they get implemented using different programming languages. On the other hand, web applications are becoming more widely spread, especially e-commerce ones, which make light returns on investment and achieve good relations between the companies and the customers. To stabilize this relationship, a web application must have a good design. The overall design of the web application is the key issue for keeping an ongoing business. An Organization definitely loses the trust of customers if its web application goes down every now and then. This research captures design patterns that help with optimizing performance in database-driven web applications. The research captures five design patterns which are concerned with performance optimization, application complexity and resource utilization monitoring. The Database Connection Pool, Cache, and Static Enabler design patterns introduce direct optimization solutions. The SQL Statement Template design pattern breaks down the complexity of constructing SQL statements in the application code by externalizing all the SQL statements. The Logger design patterns monitors the resource utilization and delegates performance problems to a performance handler. A pattern language is also suggested in the research to give guidelines on the efficient use of these patterns. The captured patterns handle typical recurring problems that are common to many applications. Our test results show that performance is evidently optimized when these patterns are used. The research also introduces adjunct activities that should be performed in the design phase in order to achieve better utilization of the Cache, Logger, and SQL Statement Template patterns. These activities normally result in artifacts which are provided to the development team in order to standardize the use of the patterns. For example, the research suggests a cache and logging roadmaps to highlight the caching and logging points in the application in order to efficiently use the Cache and the Logger patterns, respectively. The SQL Statement template pattern, on the other hand, suggests preparing the needed SQL statements at the design phase and collects them in an external storage to the application.


School of Sciences and Engineering


Computer Science & Engineering Department

Degree Name

MS in Computer Science

Date of Award


Online Submission Date


First Advisor

Hosny, Hoda

Committee Member 1

Hosny, Hoda

Committee Member 2

Zeid, Amir

Document Type



155 p.


The American University in Cairo grants authors of theses and dissertations a maximum embargo period of two years from the date of submission, upon request. After the embargo elapses, these documents are made available publicly. If you are the author of this thesis or dissertation, and would like to request an exceptional extension of the embargo period, please write to thesisadmin@aucegypt.edu


Not necessary for this item