{"id":24782239,"url":"https://github.com/flexycode/ccobjpgl-js","last_synced_at":"2025-03-24T05:28:19.841Z","repository":{"id":274329340,"uuid":"922585596","full_name":"flexycode/CCOBJPGL-JS","owner":"flexycode","description":"CCOBJPGL-PY - Object-Oriented Programming in JavaScript","archived":false,"fork":false,"pushed_at":"2025-01-26T16:25:32.000Z","size":0,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-26T16:32:33.073Z","etag":null,"topics":["javascript","node","nodejs","oop-in-javascript","react","sql"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/flexycode.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-26T15:55:07.000Z","updated_at":"2025-01-26T16:25:35.000Z","dependencies_parsed_at":"2025-01-26T16:42:38.343Z","dependency_job_id":null,"html_url":"https://github.com/flexycode/CCOBJPGL-JS","commit_stats":null,"previous_names":["flexycode/ccobjpgl-js"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flexycode%2FCCOBJPGL-JS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flexycode%2FCCOBJPGL-JS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flexycode%2FCCOBJPGL-JS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flexycode%2FCCOBJPGL-JS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flexycode","download_url":"https://codeload.github.com/flexycode/CCOBJPGL-JS/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245214756,"owners_count":20578847,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["javascript","node","nodejs","oop-in-javascript","react","sql"],"created_at":"2025-01-29T11:16:35.767Z","updated_at":"2025-03-24T05:28:19.806Z","avatar_url":"https://github.com/flexycode.png","language":null,"readme":"\u003c!-- Background github cover with short introduction down below --\u003e\n\u003cimg src=\"https://github.com/flexycode/CCOBJPGL-JS/blob/main/assets/javascript.webp\" /\u003e\n\n# 💫 CCOBJPGL-JS\nCCOBJPGL-JS - Object-Oriented Programming in JavaScript\n\nThis repository contains all of the JavaScript code implementations of each topic in the course outline for object-oriented programming.\n\n## Table\n\n| Folder Name | Topic |\n|-------------|-------|\n| week_1-2 | Review of OOP Basics (Encapsulation, Inheritance, Polymorphism) | \n| week_3 | Forms of Inheritance |\n| week_4 | Programming by Contract |\n| week_5 | Subtyping versus Subclassing | \n| week_6 | Double Dispatch |\n| week_7 | Multiple Inheritance |\n| week_8-9 | Formal Models of OOP System (Unified Modeling Language and Formal Specification Languages) |\n| week_10-13 | Design Patterns (Creational, Structural, Behavioral, Model-View-Controller) |\n\n# Object-Oriented Programming in JavaScript\n\nThis repository contains all of the JavaScript code implementations for each topic covered in the course outline for Object-Oriented Programming.\n\n## Table of Contents\n\n- [Introduction](#introduction)\n- [Lesson](#lesson)\n- [Exercise](#exercise)\n- [Contributing](#contributing)\n- [License](#license)\n- [Acknowledgements](#acknowledgements)\n- [FAQ](#faq)\n- [Changelog](#changelog)\n\n# 🔭 Introduction\n\nThis repository contains all of the JavaScript code implementations of each topic in the course outline for object-oriented programming.\n\n# 💻 Lesson \n\n### Lesson: Review of OOP Basics (Encapsulation, Inheritance, Polymorphism)\nIn this lesson, review the fundamental concepts of object-oriented programming, including encapsulation, inheritance, and polymorphism. Explain how these concepts are used to create modular and reusable code.\n\n### Lesson: Forms of Inheritance\nIn this lesson, explore different forms of inheritance, such as single inheritance, multiple inheritance, and multi-level inheritance. Discuss the advantages and considerations of each form and provide examples to illustrate their usage.\n\n### Lesson: Programming by Contract\nIn this lesson, introduce the concept of programming by contract. Explain how preconditions, postconditions, and invariants can be used to define and enforce the behavior of classes and methods. Provide examples to demonstrate the use of programming by contract in JavaScript.\n\n### Lesson: Subtyping versus Subclassing\nIn this lesson, discuss the difference between subtyping and subclassing. Explain how subtyping allows objects of different classes to be used interchangeably based on their shared behavior, while subclassing involves creating a new class that inherits from a base class. Provide examples to illustrate the concepts.\n\n### Lesson: Double Dispatch \nIn this lesson, explain the concept of double dispatch and its use in object-oriented programming. Discuss how double dispatch allows the selection of a method to be based on the runtime types of two objects. Provide examples to demonstrate the implementation of double dispatch in JavaScript.\n\n### Lesson: Multiple Inheritance \nIn this lesson, explore the concept of multiple inheritance and its implications. Discuss how multiple inheritance allows a class to inherit from multiple parent classes, and how method resolution order (MRO) is determined. Provide examples to illustrate the use of multiple inheritance in JavaScript.\n\n### Lesson: Formal Models of OOP System (Unified Modeling Language and Formal Specification Languages)\nIn this lesson, introduce formal models of object-oriented programming systems, such as the Unified Modeling Language (UML) and formal specification languages. Explain how UML can be used to model classes, relationships, and behavior, and how formal specification languages can be used to specify and verify the correctness of object-oriented systems.\n\n### Lesson: Design Patterns (Creational, Structural, Behavioral, Model-View-Controller)\nIn this lesson, discuss the concept of design patterns and their importance in object-oriented programming. Introduce different categories of design patterns, including creational, structural, behavioral, and the Model-View-Controller (MVC) pattern. Explain the characteristics and usage of each pattern and provide examples to illustrate their implementation in JavaScript.\n\n\u003c!--\n# ✍️ Exercise\n\n```bash \nComing Soon\n\n\u003c!--\n# ✍️ Exercise\n\n```bash \nComing Soon\n```\n--\u003e\n\n# 🏆 Contributing  \n\n```bash\nComing Soon\n```\n\n# 🔐 License \n\n```bash\nComing Soon\n```\n\n# 🕵️ Acknowledgements  \n\n```bash\nComing Soon\n```\n\n# 💬 FAQ  \nProvide answers to frequently asked questions related to the course.\n\n```bash\nComing Soon\n```\n# 📫 Changelog \n        \n## 💻 [1.1.01] - 2025-01-27        \n### Added \n- ✨ Uploaded the Course Syllabus\n- ✨ Added breakdown and documentation\n\n### Changed\n- ✨ revised icon\n\n### Fixed  \n- ✨ Revised my documentaion\n\n\u003c!-- Background github cover with short introduction down below \n## 💻 [1.1.3] - 2025-01-06  \n- ✨ Added week 1 : Object and Classes\n- ✨ Added class with constructor\n- ✨ Added standard class\n\n## 💻 [1.1.4] - 2025-01-11  \n- ✨ Added week 2 : Encapsulation, Inheritance, Polymorphism\n- ✨ Added Encapsulation with example code\n- ✨ Added Ihheritance with example code\n- ✨ Added Polymorphism with example code\n\n## 💻 [1.1.1] - 2025-01-16   \n- ✨ Added week 3 : Forms of Inheritance\n\n## 💻 [1.1.1] - 2025-01-18\n- ✨ Added week 4 \n\n## 💻 [1.1.1] - 2025-01-19\n- ✨ Add Licence\n\n## 💻 [1.1.1] - 2025-01-25\n- ✨ Coming Soon\n\n## 💻 [1.1.2] - 2025-12-27\n- ✨ Added Synchronous + Asynchronous topic for Framework\n- ✨ Added Framework lesson ( Express, Koa, NestJS )\nssss\n--\u003e\n\n🧊 JavaScipt OOP\n\n\u003c!-- Introduction Pannel button link, it will redirect to the top --\u003e\n#### [Back to Table of Content](#-introduction)\n\n\u003c!-- End point line insert Thanks for visiting enjoy your day, feel free to modify this  --\u003e\n---\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://readme-typing-svg.demolab.com/?lines=Thanks+For+Visiting+Enjoy+Your+Day+~!;\" alt=\"mystreak\"/\u003e\n\u003c/p\u003e\n\n\u003c!-- Genshin Impact --\u003e\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"https://media.giphy.com/media/wcVQHVg5lYsCDkxz4J/giphy.gif?cid=ecf05e47yz4oc4o3pl85zwujqt2e6xumb1fhticxniefaqmu\u0026ep=v1_stickers_search\u0026rid=giphy.gif\u0026ct=s\" width=\"300\"\u003e\n\u003c/div\u003e\n\n\u003c!-- End point line insert Comeback again next time, feel free to modify this  --\u003e\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://readme-typing-svg.demolab.com/?lines=💎💎Come+Back+Again+next+time💎💎\" alt=\"mystreak\"/\u003e\n\u003c/p\u003e\n\n\u003c/p\u003e\n    \n\u003cbr\u003e\n\u003c!-- End point insert background effect line of sight color red --\u003e\n\u003cimg src=\"https://user-images.githubusercontent.com/74038190/212284100-561aa473-3905-4a80-b561-0d28506553ee.gif\" width=\"1000\"\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflexycode%2Fccobjpgl-js","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflexycode%2Fccobjpgl-js","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflexycode%2Fccobjpgl-js/lists"}