オブジェクト指向の初学者です。データモデル?を生成するクラスの命名に困っています。

以下のような、モデルの生成・編集・削除などをするクラスのことはオブジェクト指向ではなんと呼ぶのでしょうか?また、こうしたオブジェクト指向のクラスの責任の分け方を学ぶためには何を参照するのがよいでしょうか。

# このクラスが"データモデル"です。
Class User():
    self.name = ""
    self.age = 0

# このクラスの命名に悩んでいます。
Class UserFromDatabase():
    self.db = DBClient()

    def make_user():
        data = self.db.create({table: "user"})
        return User(data)

    def get_user(id):
        data = self.db.get({table: "user", id: id})
        return User(data)

    def delete_user(id):
        self.db.delete({table: "user", id: id})

    ......

ご教授いただければ幸いです。