CSE687 - Object Oriented Design

Lecture #26 - Design Strategy Examples

Revised: 21 April 2008
Home Courses Code Handouts CoreTech Books Articles Math Research Masters Projects SWDev WebDev News OtherLinks SiteDesign Graduates AllPages Office Hours Notices Contents

CSE681-SWMAA CSE686-IP CSE687-OOD CSE775-DO CSE776-DP CSE778-AWP CSE784-SWS

Lecture #01 Lecture #02 Lecture #03 Lecture #04 Lecture #05 Lecture #06 Lecture #07
Lecture #08 Lecture #09 Lecture #10 Lecture #11 Lecture #12 Lecture #13 Lecture #14
Lecture #15 Lecture #16 Lecture #17 Lecture #18 Lecture #19 Lecture #20 Lecture #21
Lecture #22 Lecture #23 Lecture #24 Lecture #25 Lecture #26 Lecture #27 Lecture #28

Contents Syllabus SG - Design SG - Templates SG - Class Relationships

Web Resources:

Stroustrup's Home Page, Assoc. of C/C++ Users, C++ at Microsoft, Code Project, Sells Brothers, Guru of the Week, C/C++ User's Journal, devCentral, Dr. Dobb's Journal, Boost Library, techNetCast

Office Hours: Instructor & TAs

Content:

This lecture continues with template metaprogramming.
  1. Syllabus
    Describes topics to be covered, reading material for you to digest before coming to class, and due dates for the assigned projects.
  2. Recruiting: SIG will be here on Monday, April 23rd, recruiting for software developers. They are a financial services company. They have an informational meeting in Schine 231, from 4:00pm to 5:30pm. You may come to the second class late if you wish to attend that session.
  3. Project #4 - Directory File Synchronizer
    Project4HelpSp08
    C++/CLI Winform with ownerdraw ListBox to get items with color cues
    C++/CLI Form with child thread
    Demonstrates use of Form Invoke to allow child thread to send data to ListBox.
    C++/CLI Form with Stream
    Shows how to open file streams and read files.
    Win32Tools
    Demonstrates reading files in blocks of bytes, consistent with SocketCommunicator
  4. Midterm Makeup
  5. Template Metaprogramming
  6. Design Strategies
  7. Chalk talk about design strategies
  8. Smart Pointers
  9. Veneers and Boltins
  10. Common C++ Problems
  11. Fragile Designs
  12. Managed C++
  13. Design Rules
    Design rules and idioms that transcend Object Oriented Design.