0

Python (Flask) SQL Alchemy は DAO と ORM の両方の設計を使用していますか、それとも単に ORM のみを使用していますか? 私は設計戦略を学んでおり、SQLAlchemy について考えました。それもDAO(明らかにORM)と見なされますか?

デフォルトでは、DAO のようには見えません。

たとえば、次のクラスがある場合、既存のモデル クラスのクラスを定義するとどうなりますか。

class User(db.model):
    id = db.Column(db.Integer, primary_key=True)
    email = db.Column(db.String(120), unique=True, nullable=False)
    verified= db.Column(db.String(5), unique=False, nullable=False)

別のクラス UserDao を定義します

class UserDao:
    def addNewUser(user):
         pass
    def retrieveAllUsers(user):
         users = User.query.limit(5).all()

そして、この UserDao クラスのオブジェクトをインスタンス化し、それぞれのメソッドを呼び出して、それぞれのメソッドを介していくつかのデータベース操作を実行します。これは「DAO パターン」になりますか?

4

1 に答える 1