GithubHelp home page GithubHelp logo

sdpfinal's Introduction

sdpFinal

Name of your final project: Football Event Manager

Group: SE-2213

Team members: Bakhtiiar Abuev, Sagidolla Aldiiar, Tazhenov Tamerlan

Project Overview: A program for organizing and managing football matches. The program provides the ability to create new matches with the function of customizing playing teams, dates, and player uniforms. The program also sends notifications to subscribers about matches. And helps manage ticket sales with calculation of available seats. The program is designed for match organizers to manage all aspects of the match in one place

Main body: • Include UML diagram to illustrate the structure of the design patterns used in your project.umlpic

The TeamManager class uses the Singleton design pattern. Ensuring that this class has only one instance, providing one global access point to the data contained in this class. Снимок экрана (617)

Pattern strategy determines the actions of team players such as running, defending, hitting. Strategy defines these actions and makes them interchangeable. Allows you to change the algorithm. Снимок экрана (618)

The pattern decorator allows you to choose the color of the uniform and brand of boots for football team players. A decorator allows you to dynamically add these attributes to objects by wrapping it in a decorator object. Снимок экрана (620) Снимок экрана (619)

The Observer pattern defines a one-to-many relationship between objects so that when the state of one object changes, all objects that depend on it are notified and updated automatically. It allows you to send notifications to all subscribers about a football match event. Снимок экрана (616) Снимок экрана (615)

The State pattern is used here. What is this pattern? State is a behavioral design pattern that lets an object alter its behavior when its internal state changes. It appears as if the object changed its class. The match is scheduled, but will it be or not? If the match does take place, then it will go on for 90 minutes. If not, then you need to specify the reason why the match was canceled, and users will receive a notification of cancellation for certain reasons. Снимок экрана (612)

The Adapter pattern is applied to make the TeamShop class compatible with the TicketAdapter interface used by the FootballTeamManager. It promotes flexibility and reusability, allowing the system to work with different ticket providers without altering the core logic. Снимок экрана (614)

And our output is this:

Снимок экрана (623) Снимок экрана (621) Снимок экрана (622)

Conclusion: While writing the code, we were faced with the problem of combining the code of different team members. Our program is still open to many extensions, for example, you can add more global functions to organize all matches or add a database to store match results and maintain tournament tables.

References: https://refactoring.guru/design-patterns/book

sdpfinal's People

Contributors

bahandi25 avatar aldidiyar avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.