Jump to content
M2G

Foundations of Programming: Object-Oriented Design

Recommended Posts

Most modern programming languages, such as Java, C#, Ruby, and Python, are object-oriented languages, which help group individual bits of code into a complex and coherent application. However, object-orientation itself is not a language; it’s simply a set of ideas and concepts.

Let Simon Allardice introduce you to the terms—words like abstraction, inheritance, polymorphism, subclass—and guide you through defining your requirements and identifying use cases for your program. The course also covers creating conceptual models of your program with design patterns, class and sequence diagrams, and unified modeling language (UML) tools, and then shows how to convert the diagrams into code.

Topics include:

Why use object-oriented design (OOD)?

Pinpointing use cases, actors, and scenarios

Identifying class responsibilities and relationships

Creating class diagrams

Using abstract classes

Working with inheritance

Creating advanced UML diagrams

Understanding object-oriented design principles

Contents:

Introduction 11m 35s

  1. Welcome 1m 25s
  2. Who this course is for 1m 15s
  3. What to expect from this course 3m 6s
  4. Exploring object-oriented analysis, design, and development 1m 41s
  5. Reviewing software development methodologies 4m 8s

1. Core Concepts26m 14s

  1. Why we use object-orientation 2m 42s
  2. What is an object? 5m 22s
  3. What is a class? 4m 43s
  4. What is abstraction? 2m 45s
  5. What is encapsulation? 3m 45s
  6. What is inheritance? 3m 35s
  7. What is polymorphism? 3m 22s

2. Object-Oriented Analysis and Design12m 16s

  1. Understanding the object-oriented analysis and design processes 4m 13s
  2. Defining requirements 6m 9s
  3. Introduction to the Unified Modeling Language (UML) 1m 54s

3. Utilizing Use Cases23m 35s

  1. Understanding use cases 6m 11s
  2. Identifying the actors 4m 16s
  3. Identifying the scenarios 5m 7s
  4. Diagramming use cases 4m 18s
  5. Employing user stories 3m 43s

4. Domain Modeling (Modeling the App)16m 36s

  1. Creating a conceptual model 1m 59s
  2. Identifying the classes 2m 27s
  3. Identifying class relationships 2m 38s
  4. Identifying class responsibilities 6m 43s
  5. Using CRC cards 2m 49s

5. Creating Classes22m 25s

  1. Creating class diagrams 6m 11s
  2. Converting class diagrams to code 4m 57s
  3. Exploring object lifetime 5m 55s
  4. Using static or shared members 5m 22s

6. Inheritance and Composition19m 49s

  1. Identifying inheritance situations 6m 49s
  2. Using inheritance 2m 43s
  3. Using abstract classes 2m 2s
  4. Using interfaces 4m 20s
  5. Using aggregation and composition 3m 55s

7. Advanced Concepts9m 23s

  1. Creating sequence diagrams 5m 18s
  2. Working with advanced UML diagrams 2m 3s
  3. Using UML tools 2m 2s

8. Object-Oriented Design Patterns10m 39s

  1. Introduction to design patterns 2m 40s
  2. Example: the singleton pattern 4m 53s
  3. Example: the memento pattern 3m 6s

9. Object-Oriented Design Principles21m 47s

  1. Introduction to object-oriented design principles 2m 50s
  2. Exploring general development principles 3m 55s
  3. Introduction to SOLID principles 6m 43s
  4. Introduction to GRASP principles 8m 19s

Conclusion7m 1s

  1. Reviewing feature support across different object-oriented languages 3m 50s
  2. Additional resources 2m 27s
  3. Goodbye 44s

Download: i-lynfopood.iso (Aveti unpic de rabdare pana se uploadeaza ca nu merge foarte repede. 20% in momentul in care am facut threadul.)

Sunt cele de aici: Tutorials | Foundations of Programming Object-Oriented Design

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...