Skip to content
Snippets Groups Projects
Commit 1a2bbda3 authored by Veritorakka's avatar Veritorakka
Browse files

Tein tehtävän 2

parent 95d095d0
Branches
No related tags found
No related merge requests found
...@@ -21,3 +21,40 @@ public class Tehtava2ohjelmalogiikka { ...@@ -21,3 +21,40 @@ public class Tehtava2ohjelmalogiikka {
*/ */
} }
} }
/*
* Luokkarakenne voi olla esimerkiksi seuraavanlainen:
Paketti: linnustotutkimus
Tehtava2ohjelmalogiikka (abstrakti luokka)
Tehtava2Tallennuspalvelu (abstrakti luokka)
Tehtava2TiedostoTallennuspalvelu (konkreettinen toteutus Tehtava2Tallennuspalvelu-luokasta)
Tehtava2TietokantaTallennuspalvelu (konkreettinen toteutus Tehtava2Tallennuspalvelu-luokasta)
Tehtava2Tietokanta1 (konkreettinen toteutus Tehtava2Tallennuspalvelu-luokasta)
Tehtava2LinnustoTieto (abstrakti luokka)
Tehtava2LinnustoTietoCSV (konkreettinen toteutus Tehtava2LinnustoTieto-luokasta)
Tehtava2LinnustoTietoTietokanta (konkreettinen toteutus Tehtava2LinnustoTieto-luokasta)
Paketti: linnustotutkimus.tiedosto
Tehtava2TiedostoPalvelu (abstrakti luokka)
Tehtava2TiedostoPalveluCSV (konkreettinen toteutus Tehtava2TiedostoPalvelu-luokasta)
Paketti: linnustotutkimus.tietokanta
Tehtava2Tietokanta (abstrakti luokka)
Tehtava2Tietokanta1 (konkreettinen toteutus Tehtava2Tietokanta-luokasta)
Perustelut:
Tässä ratkaisussa abstrahoidaan tallennuspalvelu ja linnustotietojen tallennus omiin abstrakteihin luokkiinsa.
Tämä mahdollistaa erilaisten tallennuspalveluiden helpon käytön ilman että ohjelmalogiikan toteutuksen täytyy riippua tietyn konkreettisen tallennuspalvelun toteutuksesta.
Lisäksi tiedostotallennuspalvelu on eriytetty omaksi pakkauksekseen, joka mahdollistaa sen käytön erillisessä moduulissa.
Samoin tietokantatallennuspalvelu on eriytetty omaksi pakkauksekseen, joka mahdollistaa erilaisten tietokantatallennuspalveluiden helpon käytön samalla logiikalla.
Polymorfismia hyödynnetään käyttämällä abstrakteja luokkia tallennuspalvelulle ja linnustotiedolle.
Tämä mahdollistaa erilaisten toteutusten helpon käytön ja lisää joustavuutta ohjelman kehityksessä.
Polymorfismia hyödynnetään käyttämällä abstrakteja luokkia tallennuspalvelulle ja linnustotiedolle. Tämä mahdollistaa erilaisten toteutusten helpon käytön ja lisää joustavuutta ohjelman kehityksessä.
*/
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment