1 / 11

Object Oriented Design

Object Oriented Design. Programming Concepts. Introduction . OO-Design is not Magic Important concepts that OO-Programming simplifies: Code Reusability Abstraction Layered Design Scalability. Code Reusability. OO-Design simplifies Code Reusability.

verne
Download Presentation

Object Oriented Design

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Object Oriented Design Programming Concepts

  2. Introduction • OO-Design is not Magic • Important concepts that OO-Programming simplifies: • Code Reusability • Abstraction • Layered Design • Scalability

  3. Code Reusability • OO-Design simplifies Code Reusability. • We can create a closed object and use it for other applications. • Saving time and money for future applications in design and debugging.

  4. Code Reusability (Example) • Class with specific values • Quick and easy to program. • Code not Reusable. • Build a generic class instead (configurable) • Adds overhead Bounds Checking, Parsing etc. • Takes more time to program. • Code is Reusable.

  5. Abstraction • A very useful tool, OO languages make this possible. • Different classes can be given a common interface. • The objects created look the same to the outside world. • Calling applications need not know the details.

  6. Abstraction (Example) • Connecting two Clients together • LAN, WAN, serial, parallel etc. • A communication class for each of the methods could be created. • The application using these objects would not have to know the difference. • The appropriate class is chosen.

  7. Layered Design • OO-Programming makes Layering very easy. • Objects become the building blocks. • Objects are broken down into closely related functions. • Each layer only accesses the layers directly below it. • This simplifies the application and enables multiple persons to program it.

  8. Layered Design (Example) • A simple communications program. • It is broken down into layers. • If I want to change a lower layer I can without effecting higher layers.

  9. Scalability • An important concept is Scalability and OO-Programming helps simplify this. • Scalability leads to lower costs since changes are easy to implement. • By breaking functions/data into objects, they can be reused to form a scalable solution to a problem. • When you think about an application you need to look at how well we can make it scale or expand.

  10. Scalability (Example) • Basic View, lacks Scalability. • If we need to upgrade, the changes are large. • Big Picture = Scalable • We now have all the hooks to do any size network.

  11. Conclusion • In OO-Design it is important to think about • Reusability • Abstraction • Layered Design • Scalability • These Design practices in the long run will save time and money.

More Related