![]() ![]() Instead of having one large Job class, a Staple Job interface or a Print Job interface was created that would be used by the Staple or Print classes, respectively, calling methods of the Job class. Applied to the Xerox software, an interface layer between the Job class and its clients was added using the Dependency Inversion Principle. The solution suggested by Martin utilized what is today called the Interface Segregation Principle. Because of this design, a staple job would know about all the methods of the print job, even though there was no use for them. This resulted in a 'fat' class with multitudes of methods specific to a variety of different clients. Whenever a print job or a stapling job needed to be performed, a call was made to the Job class. The design problem was that a single Job class was used by almost all of the tasks. As the software grew, making modifications became more and more difficult so that even the smallest change would take a redeployment cycle of an hour, which made development nearly impossible. The software for this system was created from the ground up. Xerox had created a new printer system that could perform a variety of tasks such as stapling and faxing. The ISP was first used and formulated by Robert C.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |