假设我们需要访问银行的数据库,并且需要 找到名字与给定名字的一致的客户,我们可 以
假设我们需要访问银行的数据库,并且需要
找到名字与给定名字的一致的客户,我们可
以:
向数据库要求所有客户的集合,然后遍历这个集
合来查找名字与给定名字相符的客户;
向数据库索要所有客户的集合,然后让该集合自
己查找给定的客户;
向数据库提供客户的姓名,然后让数据库进行搜
索并查找该客户。
请问,从迪米特法则的角度出发,哪个方案
更可取?
根据迪米特法则,我们应该尽量避免与其他模块/系统直接交互,并且只与必要的模块/系统直接交互。因此,最可取的方案是向数据库提供客户的姓名,然后让数据库进行搜索并查找该客户。这种方式不需要我们访问整个客户集合,也不需要集合自己去查找客户,只需要提供必要的信息给数据库,让数据库完成搜索和查找,降低了模块之间的耦合。