Nacházím se v bodě, kdy potřebuji udělat opravdu správný objektový návrh. Pro zjednodušení mám tuto situaci: Mám v objektu jedna textová data, která potřebuji uložit v různých formátech (výstup budou soubory s různou příponou), například (formáty jsou smyšlené, dat je v objektech více, ale princip stejný): Text: "Máma mele maso." 1. formát : "1. <Máma mele maso> 2. formát : "(Máma mele maso) 3. formát : "'Máma mele maso'" Celá opera se tedy liší jen ve výstupu, který potřebuji uložit a následně načítat. Moje dosavadní návrhy: 1) udělat interface formát s běžným textem a potom udělat pro konkrétní formáty třídy, které by ho implementovaly a zároveň by musely každá overridovat třeba ToString, kde by byl výstup lišící se formátem 2) udělat jen jednu třídu pro všechny formáty a do ní dát například výčtový typ s formátem (dal by se za běhu měnit) a potom mít nějaký samostatný objekt, který by řešil ukládání a formát by přečetl z toho výčtu. 3) řešit to například pomocí Factory Method, jejíž potomci by implementovaly jednotlivý kód podle jejich formátu. Cílem je, aby šly další formáty později nějak rozumně (pohodlně) přidávat, nebo ubírat. Ideálně pomocí návrhového vzoru, které se už nějakou dobu snažím dostat do hlavy. Předem děkuji za návrhy
|