Nie wiem czy dobrze rozumiem, ale wydaje mi się, że bardzo płytko pojmujesz pojęcie programowania obiektowego. To, że używasz OOP wcale nie znaczy, że obiektem w systemie będzie "Zwierze" albo "Płód rolny" czy cokolwiek takiego. Obiektem będzie wszystko. I to bardzo dosłownie. Ciężko to wyjaśnić, ale spróbuję. W takim systemie jaki chcesz stworzyć możesz mieć klasy takie jak:
- user
- inventory (wraz z type, np zwierze, pojazd itp)
i to będą obiekty przechowywane w bazie danych, potrzebna więc jakaś warstwa komunikacji z bazą - obiektem będzie połączenie z bazą, obiektem będzie każde zapytanie.
Dalej, obiektem będzie widok dla użytkownika, formularz czy cokolwiek.
Gdyby zagłębić się może w CQRS to możesz mieć obiekty komend (command), obiekty zapytań (query). Po prostu wszystko praktycznie będzie obiektem.
Bo - stworzenie sobie klasy zwierze i operowanie w aplikacji tak jak w programowaniu strukturalnym, nie jestem programowaniem obiektowym. I ogólnie pomysł masz dobry, możesz zrobić sobie właśnie taką aplikację, tylko musisz poszerzyć chyba wiedzę. Zobacz sobie wzorzec MVC na początek, popatrz na przykładowe aplikacje na GitHubie, cokowliek.