Witam jestem początkującym, znam już ogólne podstawy Javy, zrobiłem kilka prostych programów
i gdy potrzebne mi coś nowego( jakaś klasa, funkcja itp) z pomocą książki potrafie to przejść.
Mam jednak prośbe o pomoc innej natury. Chodzi mi powiedzmy o taki warsztat pracy, ogólne spojrzenie programisty na problem, tworzenie programu jako takiego, jego architektury.
Jak na razie nie znalazłem czegoś takiego w książkach, ani na forum(chyba że gdzieś to już jest ujęte
- to prosze o linka, tytuł książki i przepraszam za zaśmiecanie forum :)
Wiem z własnego doświadczenia projektowego (inżynier budownictwa) że to przychodzi z czasem,
ale znacznie lepiej jest zapytać kogoś doświadczonego niż od początku kluczyć i brnąć w głupie rozwiązania. Wiadomo że błedy zawsze się zdarzają i każdemu, ale chodzi mi o to żeby te najogólniejsze założenia przyjąć prawidłowo.
Do przykładu :) Powiedzmy że chce stworzyć program.
Założenia:
Program kucharski :) niby książka kucharska, ale taka lepsza :)
( to tylko przykłąd nigdy nie powstanie chyba że kogoś to zainspiruje :)
- program ma za zadanie tworzyć kolejne dania na cały dzień, tydzien jak kto woli.
czyli program tworzy jeden lub wiecej elementów (element = danie). - mamy kilka z góry zdefiniownytch podstawowych typów dań( śniadanie, przystawka, deser itp.)
- zdefiniowane w jakieś bazie produkty ich charakterystyka
- zdefiniowane interakcje produktów itp
Działanie:
Tworzymy element: np danie typu: śniadanie ma parametry ( ilość ludzi, zawartość białka%, mieso tak/nie, warzywa tak/nie itp.)
Wynik programu:
Program podaje wynik dla każdego elementu z osobna:
- lista produktów,
- sposób przyrządzenie
- może rysunek i takie tam :)
I teraz sedno mojego pytania
-
Jak i czy rozdzielamy część obliczeniową programu od części graficznej. Czy robimy to za pomocą pakietów(każdy z nich zawiera zbiór klas o jednym charakterze działąnia.
Czy istnieje tu jakaś najogolniesze zasada. -
Czy tworząc kolejny element(danie) tworze kolejny wątek, w którym tworzę obiekt mnie interesujący (przyznam w tym wzgledzie najbardziej brakuje mi wyczucia :( Czy w ogóle w tego typu programach jest potrzeba stosowania wątków i jakie z tytułu ich zastosowania mogą wynikać korzyści.
-
Jakiego typu elementy stosować jako zapis danych elemntu, charakterystyk produktów na dysk.
-
Jakie efektywne rozwiązanie ustawień/konfiguracji użytkownika się stosuje (kolor tła programu, jakie kto lubi mieso, czy ma ktoś alergie na coś itp.)
Czy isnieją już gotowe klasy tym zajmujące się. -
Ogólnie pytam o podejście do takie problemu, ogólny podział charakteru klas( graficzne, obliczeniowe, ...) Czy isnieje taka ogólna metodyka w podejsciu do tego typu zadania.
Troche przydługi post ale dzięki za przeczytanie, myślę że może to być ciekawy temat dla początkujących i nie tylko.
Wiadomo sposobów rozwiązań problemu jest zawsze dużo ale dla początkujących ważne jest nadanie pewnego kierunku i sposobu myślenia, określenia zalet i wad zastosowanych rozwiązań.
Moja prośba o ogólne założenie.
Dziekuje z góry za pomoc.
Mariusz