Witam, Od pewnego czasu mam pomysł na aplikację związaną z inwestowaniem na giełdzie. Ma ona posiadać jakieś różne modele finansowe, różne funkcjonalności. Kilka z nich znam ale ciągle się rozwijam w tym temacie. W związku z tym chciałbym aplikację mocno nastawić na takie działanie aby była późniejsza elastyczna możliwość jej rozwoju. Chcę napisać to w technologii QT. Na jakim wzorcu projektowym warto oprzeć taką aplikację? Myślałem nad wzorcem Abstract Factory.
Wzorce się łączą, więc niemożliwym jest zaprojektowanie aplikacji według jednego.
@Pirx1988 twoje pytanie brzmi mniej więcej tak:
"Chciałbym zbudować samochód. Myślałem o tym żeby oprzeć go o podgrzewane szyby sterowane pilotem"
Jaki jest wzorzec byłby odpowiedni do tego aby móc aplikacje rozbudowywać z czasem? Mam w głowie kilka modułów, które chcę zrobić. Niemniej jednak zależy mi na tym abym mógł z czasem aplikacje rozwijać tak, żeby nie musieć wszystkiego potem przerabiać od nowa a raczej dopisywać kolejne moduły. Pomyślałem o abstrakcyjnej fabryce czy jest to dobry wzorzec do takiego podejścia? A może znacie jakieś inne, które warto by tu zastosować, są warte zainteresowania?
Aby móc łatwo rozbudowywać aplikację bez konieczności przerabiania wszystkiego, trzeba się trzymać zasad SOLID, a nie wzorców. Wzorce tylko pomagają projektować często powtarzające się elementy różnych aplikacji.
Pisząc kod zawsze myśl o tym jak aplikacja może się rozwijać i albo implementuj od razu bardziej "ogólny", albo zostaw uchylone furtki pod przyszły kod. Nie buduj jednak 50 poziomów abstrakcji, bo się na tym zajedziesz nie tworząc nawet podstawowych funkcjonalności.
@Pirx1988 możesz pomyślec o wykorzystaniu kontenera IoC jakiegoś i tyle. Reszta to pisanie kodu z głową.
Dzięki wszystkim za odpowiedź. Postaram się poczytać o tych elementach o których wspomnieliście w poście :)