Projekt Deméter, pojmenovaný podle řecké bohyně obilí a plodnosti, byl zahájen na Northeastern University a věnuje se výzkumu v oblasti objektového programování. Jeho řešitelé postupně publikovali několik vědeckých článků, ze kterých mohou objektoví návrháři na celém světě čerpat užitečné rady a doporučení. Z nich je asi nejznámnější tzv. pravidlo Deméter pro metody, zkráceně též pravidlo Deméter, za kterým stojí Karl Lieberherr, Ian Holland a Arthur Riel.
Pravidlo Deméter je doporučení pro objektový návrh, které respektuje princip minimální znalosti o zbytku systému. Jedná se také o návod, jak kontrolovat, že implementace metod zbytečně nezvyšuje zatížení tříd dalšími třídami, které nejsou pro její funkci bezpodmínečně nutné. Objekt by měl činit jen minimální předpoklady o struktuře a chování objektů ostatních. Toho lze dosáhnout tak, že bude každý objekt komunikovat jen se svým nejbližšími sousedy, kde sousednost dvou objektů znamená schopnost jednoho objektu volat metody objektu druhého. Pravidlo Deméter tedy primárně slouží k zachování znovupoužitelnosti.
Formálně pravidlo Deméter říká, že metoda M objektu O může volat metody jen a pouze těchto objektů:
V systému, který dodržuje pravidlo Deméter, je o vykonání určité akce požádán kontejner, který samostatně zajistí vykonání této akce pomocí svých komponent. Dodržování tohoto pravidla zvýší udržovatelnost a adaptabilitu systému. Nevýhodou je ale přítomnost velkého množství malých „distribučních“ metod, které teoreticky mohou vést k poklesu výkonu.
zeleně jsou označené objekty, jejich metody může volat B
zeleně jsou označené objekty, jejich metody může volat C
Pravidlo Deméter bylo dále rozvíjeno i jinými autory, kteří přišli s vlastními výklady a dalšími podobnými pravidly. Zde je několik z nich.