Sun Microsystems, Inc.
spacer spacer
spacer   Sun Educational Services  
spacer
black dot
  black fade
spacer
  Course Catalog
logo

COM Fundamentals II

( WT-1191-180 )


     Course DescriptionBack To Top

Course Offered in Partnership With DigitalThink

This course provides instruction on COM (Common Object Model) reuse mechanisms, containment/delegation, and aggregation. It includes course projects creating two new COM objects that reuse the PhBookObj object developed in COM Fundamentals I. In the first project, students will create an in-process COM object that reuses PhBookObj via containment/delegation. In the second project, students will create a COM object that reuses PhBookObj through aggregation. Additionally, students will develop a COM client that uses both of the new COM objects created in the course.

This course requires Microsoft Visual C++ 5.0 or 6.0. It also requires a computer running Windows, Macintosh, or UNIX. To complete the exercises, however, you must have access to a computer running Windows 95/98/NT.

eMentoring Services are included with this course.

  • Course length: 10 hours

  • Course details
        id:      WT-1191-180
        subscription duration:  180 days
        list price:  $  450.00


     
         Languages Offered Back To Top

    This course is currently available in English only.

     
         Who Can Benefit Back To Top

    Programmers

     
         Prerequisites Back To Top

    To succeed fully in this course, students should be able to:

  • Demonstrate completion of COM Fundamentals I, or equivalent knowledge and experience
  •  
         Skills Gained Back To Top

    Upon completion of this course, you should be able to:

  • Understand source code and binary-level reusability
  • Understand COM reusability mechanisms
  • Understand containment/delegation
  • Develop a COM object that reuses another COM object via containment/delegation
  • Understand aggregation concepts
  • Develop a COM object to support aggregation
  • Develop a COM object that aggregates another COM object
  • Develop a COM client that uses composite COM objects built from containment/delegation and aggregation
  •  
         Related Courses Back To Top

  • Before: COM Fundamentals I
  •  
         Course Content Back To Top



    Module 1: Course introduction Back To Top

  • Course introduction
  • Prerequisites
  • What you need
  • What to expect
  • Meet your tutor
  • Meet your instructor
  • Course project


  • Module 2: Reusability and containment/delegation Back To Top

  • Reusability and containment/delegation
  • Integrating objects: C++ classes
  • Integrating components: COM components
  • Integrating components: COM component advantages
  • Reusability and C++
  • Reusability and components
  • COM reusability mechanisms
  • Containment/delegation concepts
  • Containment/delegation issues
  • Module wrap-up


  • Module 3: Reusability and aggregation Back To Top

  • Reusability and aggregation
  • What aggregation does
  • Aggregation review
  • Interface navigation
  • Reference counting
  • Aggregation guidelines
  • Aggregation guidelines: inner objects
  • Aggregation guidelines: outer objects
  • Aggregation guidelines: IUnknown information exchange
  • Aggregation summary
  • Module wrap-up


  • Module 4: Using containment/delegation Back To Top

  • Using containment/delegation
  • The outer COM object
  • Examining PhBookObj
  • Start implementing Memo
  • Type information and include files
  • Adding interface pointers for IReadPhBook and IManagePhBook
  • ATL core classes
  • ATL's initialization sequence
  • ATL's termination sequence
  • Instantiating and releasing PhBookObj
  • Add delegating implementation of IReadPhBook and IManagePhBook
  • Implementing IMemo: adding internal data structures
  • Implementing IMemo: adding internal methods
  • Implement IMemo methods
  • Module wrap-up


  • Module 5: Developing a COM client Back To Top

  • Developing a COM client
  • COM client concept review
  • Smart pointer review
  • ATL smart pointers
  • Create the client project: InfoMgrCli
  • Calling IManagePhBook and IReadPhBook
  • Calling into IMemo
  • Module wrap-up


  • Module 6: Aggregation Back To Top

  • Aggregation
  • Aggregation functionality
  • Containment/delegation vs. aggregation
  • The outer object
  • The role of the inner/aggregated object, part 1
  • The role of the inner/aggregated object, part 2
  • Aggregation summary
  • How ATL supports aggregation, part 1
  • How ATL supports aggregation, part 2
  • Module wrap-up


  • Module 7: Implementing aggregation Back To Top

  • Implementing aggregation
  • Aggregating an object with ATL, part 1
  • Aggregating an object with ATL, part 2
  • Aggregating an object with ATL, part 3
  • Implementing InfoMgrAgg
  • Implementing IMemo in MemoAgg
  • Add constants, variables, and data structures
  • Implementing IMemo
  • Adding code to aggregate PhBookObj
  • Developing a client
  • Module wrap-up


  • Module 8: Course wrap-up Back To Top

  • Course wrap-up
  • We'd love your feedback
  • Help us help you learn!

  • Terms of UsePrivacy PolicyFeedback Copyright 1994-2002 Sun Microsystems, Inc.