设计模式:工厂也应该更新和删除吗?

Twa*_*gas 5 database oop design-patterns object

我目前正在学习设计模式。我使用工厂从数据库获取数据,创建一个对象,然后返回该对象。但是当我想要更新或删除数据库中的数据时,我可以使用什么样的设计模式呢?工厂也可以进行更新和删除吗?或者存在另一种设计模式吗?Java 或 PHP 中的示例会很有帮助。

感谢您的支持!

Nat*_*hes 3

不,不是真的。工厂建造东西,仅此而已。在使用 ActiveRecord 模式的情况下,实体有一个 save 方法。使用像 Hibernate 这样的 ORM,会话会保留实体。

在 Java 中,会发生这样的情况:您有一个 SessionFactory(或 EntityManagerFactory),它创建 Hibernate Session(或 EntityManager),并且 Hibernate Session 具有诸如 save 之类的方法,可以获取对象并保留它或对其执行任何操作。实体对象将使用新值进行更新,然后在调用 session.save 时将其作为参数传递(尽管在许多情况下 Hibernate 可以找出更改的内容,因此不需要显式调用 save),如下所示:

EntityManager manager = entityManagerFactory.create();
MyEntity entity = manager.findById(someid);
entity.setName("new name");
manager.save(entity);
Run Code Online (Sandbox Code Playgroud)