{"id":18592387,"url":"https://github.com/itaynir1/design-patterns","last_synced_at":"2025-08-26T15:14:39.249Z","repository":{"id":175100510,"uuid":"602141319","full_name":"itaynir1/Design-Patterns","owner":"itaynir1","description":"This code implements a factory design pattern for creating various types of shapes.","archived":false,"fork":false,"pushed_at":"2023-02-15T15:31:53.000Z","size":8,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-17T21:38:36.533Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","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/itaynir1.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":"2023-02-15T15:27:33.000Z","updated_at":"2023-02-15T15:33:38.000Z","dependencies_parsed_at":"2023-07-16T11:31:25.854Z","dependency_job_id":null,"html_url":"https://github.com/itaynir1/Design-Patterns","commit_stats":null,"previous_names":["itaynir1/design-patterns"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itaynir1%2FDesign-Patterns","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itaynir1%2FDesign-Patterns/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itaynir1%2FDesign-Patterns/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itaynir1%2FDesign-Patterns/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/itaynir1","download_url":"https://codeload.github.com/itaynir1/Design-Patterns/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254509473,"owners_count":22082892,"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":[],"created_at":"2024-11-07T01:08:25.009Z","updated_at":"2025-05-16T10:09:57.606Z","avatar_url":"https://github.com/itaynir1.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Design-Patterns\nThis code implements a factory design pattern for creating various types of shapes.\nWhen the program starts, the user is prompted to enter the name of the shape they want to create.\nThe program then creates an object of the chosen shape and calls its draw() method.\n\nThe shape class is an abstract class with a draw() method that must be implemented by its subclasses. The rectangle, square, triangle, and trapeze classes extend the shape class and implement their own draw() method.\n\nThe shapeFactory is an interface with a createAndDrawShape() method that must be implemented by its subclasses. The Star and leftRightArrow classes implement the shapeFactory interface and create their own shapes using their createAndDrawShape() method.\n\nAfter drawing the shape, the program outputs the Shapes-Styling section, which creates various DrawingBuilder objects with different constructors, demonstrating the builder design pattern. The program then outputs the Shapes Generator section, which creates instances of the different shape classes and adds them to an array.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitaynir1%2Fdesign-patterns","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fitaynir1%2Fdesign-patterns","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitaynir1%2Fdesign-patterns/lists"}