A part of English Study
Object-Oriented Design
IS-A and HAS-A relationships and encapsulation are just the tip of the iceberg when it comes to object-oriented design. Many books and graduate theses have been dedicated to this topic. The reason for the emphasis on proper design is simple: money.The cost to deliver a software application has been estimated to be as much as ten times more expensive for poorly designed programs. Having seen the ramifications of poor designs, I can assure you that this estimate is not far-fetched.
Even the best object-oriented designers make mistakes. It is difficult to visualize the relationships between hundreds, or even thousands, of classes. When mistakes are discovered during the implementation(code writing) phase of a project, the amount of code that has to be rewritten can sometimes cause programming teams to start over from scratch.
The software industry has evolved to aid the designer. Visual object modeling languages, like the Unified Modeling Language(UML), allow designers to design and easily modify classes without having to write code first, because object-oriented components are represented graphically. This allows the designer to create a map of the class relationships and helps them recognize errors before coding begins. Another innovation in object-oriented design is design patterns. Designers noticed that many object-oriented designs apply consistently from project to project, and that it was useful to apply the same designs because it reduced the potential to introduce new design errors. Object-oriented designers then started to share these designs with each other. Now, there are many catalogs of these design patterns both on the Internet and in book from.
Although passing the Java certification exam does not require you to understand object-oriented design this thoroughly, hopefully this background information will help you better appreciate why the test writers chose to include encapsulation, and IS-A, and HAS-A relationships on the exam.
GLOSSARY
encapsulation, dedicated, proper, estimate, ramification, phase, scratch, evolve, innovation, consistently, potential
分享到:
相关推荐
Upon completion of an object-oriented design, you are faced with a troubling question: "Is it good, bad, or somewhere in between?" Seasoned experts often answer this question by subjecting the design ...
Data Structures And Algorithms With Object-oriented Design Patterns In Java.chm
Design Patterns Explained: A New Perspective on Object-Oriented Design By Alan Shalloway, James R. Trott Publisher : Addison Wesley Pub Date : July 09, 2001 ISBN : 0-201-...
I have observed that the advent of object-oriented methods and the emergence of object-oriented design patterns has lead to a profound change in the pedagogy of data structures and algorithms....
Data Structures and Algorithms with Object-Oriented Design Patterns in C++.rar Data Structures and Algorithms with Object-Oriented Design Patterns in C++.rar
- **引入参数对象(Introduce Parameter Object)**:当方法拥有大量参数时,将其转换为一个单独的对象,以增强代码的可读性和可维护性。 #### 案例研究 通过对实际项目的深入剖析,读者可以更加直观地理解面向对象...
Data Structures Algorithms Object-Oriented Design C++ 面向对象 算法 数据结构]
本书名为《Building Skills in Object-Oriented Design》,由Steven F. Lott撰写,并在2008年发布,内容涵盖了如何在Java和Python这两种编程语言中逐步构建一个完整的应用程序。这本书不仅讲授了面向对象设计的理论...
本书《Ruby面向对象设计:Practical Object-Oriented Design in Ruby》是一本专注于Ruby编程语言中面向对象设计原则和技术的书籍。作者Sandi Metz在书中讲述了如何应用敏捷方法来设计高质量、易于维护和扩展的面向...
Data Structures and Algorithms with Object-Oriented Design Patterns in CSharp - Bruno R. Preiss
面向对象设计(Object-Oriented Design, OOD)是软件工程领域中的一个重要分支,它强调通过对象来构建系统,并利用类、继承、封装、多态等机制来组织和管理代码。《面向对象设计知识:原则、启发式方法与最佳实践》...
Head First Object-Oriented Design and Analysis 英文版,共3个文件
Head First Object-Oriented Design and Analysis 英文版,共3个文件,资源分:1 欢迎大家下载!
《Data Structures and Algorithms with Object-Oriented Design Patterns in Java》是一本专为Java开发者设计的深入探讨数据结构和算法的书籍。这本书以其详尽的解释和易于理解的特点,深受Java编程者的喜爱。它将...
《Data Structures and Algorithms with Object-Oriented Design Patterns in C++》是关于数据结构与算法的一本经典著作,它深入探讨了如何使用面向对象的设计模式来实现高效的数据结构和算法。这本书通过C++语言来...
《深入浅出面向对象软件设计与分析》是一本专为软件架构设计人员打造的书籍,旨在帮助读者理解和掌握面向对象(Object-Oriented, OO)设计与分析的核心概念和技术。面向对象方法是现代软件开发中的基石,它允许我们...
Building Skills in Object-Oriented Design