Row Data Gateway
V softwarovém inženýrství je Table Row Data Gateway architektonický návrhový vzor pro práci s datovými zdroji, který v roce 2002 publikoval Martin Fowler ve své knize Patterns of Enterprise Application Architecture.
Shrnutí
Vzor zde funguje jako brána, která zapouzdřuje CRUD operace nad jedním řádkem databázové tabulky. Každý atribut dané třídy odpovídá danému sloupci v tabulce. K atributům se zpravidla přistupuje přímo (jsou tedy veřejné) bez nutnosti používat gettery a settery. Instance řádku se vytváří nejčastěji pomocí asociativního pole, které je předáno konstruktoru. Instanci řádku tedy nevytváří přímo uživatel, ale vytváří ji oddělená vyhledávací třída. Samotná vyhledávací třída může implementovat vzor Table Data Gateway a je i vhodné tyto vzory spolu kombinovat. Důvodem, proč je konstruktoru předáno asociativní pole a nikoliv primární klíč, je optimalizace databázového výkonu. Třída, která zajišťuje vyhledávání, provede pouze jeden databázový dotaz, který může vrátit více výsledků. Pro každý vrácený řádek vytvoří instanci bez nutnosti volání dalšího databázového dotazu.