Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Symfony][OOP]Gdzie umieścić złożoną logikę - kilka klas zgodnych z SOLID?
mathieus
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 9.01.2021

Ostrzeżenie: (0%)
-----


Witam,

mam kilka klas połącząnych, załóżmy, według wzorca Mediator,
który skłąda się z conajmniej dwóch interfejsów i 4 klas.
Jak wiadomo, standardem jest: jedna klasa, jeden plik.
Gdzie umieścić te pliki i jak łączyć klasy zgodnie ze standardami?:

  • w tym samym katalogu co kontrolery?
  • w osobnym podkatalogu katalogu src?
  • jako service? jak wtedy ogarnąć kilka klas?
  • jako biblioteka? z tym to zupełnie nie wiem jak - bardzo byłbym rad za wskazówki (np. link do opisu w internecie)...


z góry dziękuję za wskazówki.
Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mathieus
post
Post #2





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 9.01.2021

Ostrzeżenie: (0%)
-----


Znalazłem wczoraj w nocy czas, więc zrobiłem wersję pod Symfony:
(github) Trade Wars - to co poprzednio, ale jako serwis w symfony

Cała "zawartość" mieści się w podkatalogu "src/Service" oraz w pliku "tests/indextTest.php".
src/Service
- Entities
- - - - Item.php
- - - - Product.php
- Interfaces
- - - - IMarket.php
- - - - IPocket.php
- Logic
- - - - CMarket.php
- - - - CPocket.php
- Round.php

Pierwszy test działa - czyli działa inicjacja gry i kupowanie.

Drugi test nie działa, gdyż najwyraźniej nie zapamiętuje $_SESSION. Być może skorzystam z tego co podesłałeś, czyli będę wrzucał do bazy danych, chociaż ta zasady tej gry tego nie wymagają. Prawdopodobnie powalczę jeszcze z session...

dzięki za kontynuowanie tematu

PS. teraz się zastanawiam, czy moje entities nie są w złym miejscu, ale jeżeli nie doctrine, to nie wiem gdzie... może doctrine jest koniecznością - jutro na spokojnie przemyślę.

Ten post edytował mathieus 13.01.2021, 18:56:06
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 27.12.2025 - 17:44