000 08497nam a22003613i 4500
999 _c25592
_d25592
001 EBC5126589
003 MiAaPQ
005 20190105120123.0
006 m o d |
007 cr cnu||||||||
008 181231s2008 xx o ||||0 eng d
020 _a9788131737262
_q(electronic bk.)
035 _a(MiAaPQ)EBC5126589
035 _a(Au-PeEL)EBL5126589
035 _a(CaONFJC)MIL260974
035 _a(OCoLC)1024277158
040 _aMiAaPQ
_beng
_erda
_epn
_cMiAaPQ
_dMiAaPQ
082 0 _a005.117
_223 rd
100 1 _aWeisfeld, Matt.
245 1 0 _aObject-Oriented Thought Process, The.
250 _a3rd ed.
300 _a1 online resource (351 pages)
505 0 _aCover -- Contents -- Introduction -- 1 Introduction to Object-Oriented Concepts -- Procedural Versus OO Programming -- Moving from Procedural to Object-Oriented Development -- Procedural Programming -- OO Programming -- What Exactly Is an Object? -- Object Data -- Object Behaviors -- What Exactly Is a Class? -- Classes Are Object Templates -- Attributes -- Methods -- Messages -- Using UML to Model a Class Diagram -- Encapsulation and Data Hiding -- Interfaces -- Implementations -- A Real-World Example of the Interface/Implementation Paradigm -- A Model of the Interface/Implementation Paradigm -- Inheritance -- Superclasses and Subclasses -- Abstraction -- Is-a Relationships -- Polymorphism -- Composition -- Abstraction -- Has-a Relationships -- Conclusion -- Example Code Used in This Chapter -- 2 How to Think in Terms of Objects -- Knowing the Difference Between the Interface and the Implementation -- The Interface -- The Implementation -- An Interface/Implementation Example -- Using Abstract Thinking When Designing Interfaces -- Giving the User the Minimal Interface Possible -- Determining the Users -- Object Behavior -- Environmental Constraints -- Identifying the Public Interfaces -- Identifying the Implementation -- Conclusion -- References -- 3 Advanced Object-Oriented Concepts -- Constructors -- The Default Constructor -- When Is a Constructor Called? -- What's Inside a Constructor? -- The Default Constructor -- Using Multiple Constructors -- The Design of Constructors -- Error Handling -- Ignoring the Problem -- Checking for Problems and Aborting the Application -- Checking for Problems and Attempting to Recover -- Throwing an Exception -- The Concept of Scope -- Local Attributes -- Object Attributes -- Class Attributes -- Operator Overloading -- Multiple Inheritance -- Object Operations -- Conclusion -- References.
505 8 _aExample Code Used in This Chapter -- 4 The Anatomy of a Class -- The Name of the Class -- Comments -- Attributes -- Constructors -- Accessors -- Public Interface Methods -- Private Implementation Methods -- Conclusion -- References -- Example Code Used in This Chapter -- 5 Class Design Guidelines -- Modeling Real World Systems -- Identifying the Public Interfaces -- The Minimum Public Interface -- Hiding the Implementation -- Designing Robust Constructors (and Perhaps Destructors) -- Designing Error Handling into a Class -- Documenting a Class and Using Comments -- Building Objects with the Intent to Cooperate -- Designing with Reuse in Mind -- Documenting a Class and Using Comments -- Designing with Extensibility in Mind -- Making Names Descriptive -- Abstracting Out Nonportable Code -- Providing a Way to Copy and Compare Objects -- Keeping the Scope as Small as Possible -- A Class Should Be Responsible for Itself -- Designing with Maintainability in Mind -- Using Iteration -- Testing the Interface -- Using Object Persistence -- Serializing and Marshaling Objects -- Conclusion -- References -- Example Code Used in This Chapter -- 6 Designing with Objects -- Design Guidelines -- Performing the Proper Analysis -- Developing a Statement of Work -- Gathering the Requirements -- Developing a Prototype of the User Interface -- Identifying the Classes -- Determining the Responsibilities of Each Class -- Determining How the Classes Collaborate with Each Other -- Creating a Class Model to Describe the System -- Case Study: A Blackjack Example -- Using CRC Cards -- Identifying the Blackjack Classes -- Identifying the Classes' Responsibilities -- UML Use-Cases: Identifying the Collaborations -- First Pass at CRC Cards -- UML Class Diagrams: The Object Model -- Prototyping the User Interface -- Conclusion -- References -- 7 Mastering Inheritance and Composition.
505 8 _aReusing Objects -- Inheritance -- Generalization and Specialization -- Design Decisions -- Composition -- Representing Composition with UML -- Why Encapsulation Is Fundamental to OO -- How Inheritance Weakens Encapsulation -- A Detailed Example of Polymorphism -- Object Responsibility -- Conclusion -- References -- Example Code Used in This Chapter -- 8 Frameworks and Reuse: Designing with Interfaces and Abstract Classes -- Code: To Reuse or Not to Reuse? -- What Is a Framework? -- What Is a Contract? -- Abstract Classes -- Interfaces -- Tying It All Together -- The Compiler Proof -- Making a Contract -- System Plug-in-Points -- An E-Business Example -- An E-Business Problem -- The Non-Reuse Approach -- An E-Business Solution -- The UML Object Model -- Conclusion -- References -- Example Code Used in This Chapter -- 9 Building Objects -- Composition Relationships -- Building in Phases -- Types of Composition -- Aggregations -- Associations -- Using Associations and Aggregations Together -- Avoiding Dependencies -- Cardinality -- Multiple Object Associations -- Optional Associations -- Tying It All Together: An Example -- Conclusion -- References -- 10 Creating Object Models with UML -- What Is UML? -- The Structure of a Class Diagram -- Attributes and Methods -- Attributes -- Methods -- Access Designations -- Inheritance -- Interfaces -- Composition -- Aggregations -- Associations -- Cardinality -- Conclusion -- References -- 11 Objects and Portable Data: XML -- Portable Data -- The Extensible Markup Language (XML) -- XML Versus HTML -- XML and Object-Oriented Languages -- Sharing Data Between Two Companies -- Validating the Document with the Document Type Definition (DTD) -- Integrating the DTD into the XML Document -- Using Cascading Style Sheets -- Conclusion -- References -- 12 Persistent Objects: Serialization and Relational Databases.
505 8 _aPersistent Objects Basics -- Saving the Object to a Flat File -- Serializing a File -- Implementation and Interface Revisited -- What About the Methods? -- Using XML in the Serialization Process -- Writing to a Relational Database -- Accessing a Relational Database -- Loading the Driver -- Making the Connection -- The SQL Statements -- Conclusion -- References -- Example Code Used in This Chapter -- 13 Objects and the Internet -- Evolution of Distributed Computing -- Object-Based Scripting Languages -- A JavaScript Validation Example -- Objects in a Web Page -- JavaScript Objects -- Web Page Controls -- Sound Players -- Movie Players -- Flash -- Distributed Objects and the Enterprise -- The Common Object Request Broker Architecture (CORBA) -- Web Services Definition -- Web Services Code -- Invoice.cs -- Invoice.vb -- Conclusion -- References -- 14 Objects and Client/Server Applications -- Client/Server Approaches -- Proprietary Approach -- Serialized Object Code -- Client Code -- Server Code -- Running the Proprietary Client/Server Example -- Nonproprietary Approach -- Object Definition Code -- Client Code -- Server Code -- Running the Nonproprietary Client/Server Example -- Conclusion -- References -- Example Code Used in This Chapter -- 15 Design Patterns -- Why Design Patterns? -- Smalltalk's Model/View/Controller -- Types of Design Patterns -- Creational Patterns -- Structural Patterns -- Behavioral Patterns -- Antipatterns -- Conclusion -- References -- Example Code Used in This Chapter -- Index -- A -- B -- C -- D -- E -- F -- G -- H -- I -- J -- K -- L -- M -- N -- O -- P-Q -- R -- S -- T -- U -- V -- W -- X-Y-Z.
590 _aElectronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2018. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.
655 4 _aElectronic books.
776 0 8 _iPrint version:
_aWeisfeld, Matt
_tObject-Oriented Thought Process, The
_dNoida : Pearson India,c2008
797 2 _aProQuest (Firm)
856 4 0 _uhttps://ebookcentral.proquest.com/lib/cethalassery/detail.action?docID=5126589
_zClick to View
942 _2ddc
_cBK