在面向对象编程语言中,我可能会编写一个数据库包装器,它封装了数据库连接、管理模式并提供几个核心操作,如
exec
, query
, prepare_and_execute
。我甚至可能会有一个单独的数据库帮助类,它将处理数据库模式,使数据库抽象仅处理连接。这将由模型包装器/工厂使用数据库抽象类来创建模型类的实例。类似于这样的UML图:
在惯用的Haskell设计中,设计这样的系统应该采用哪种方式?