在过程(或功能、模块等)设计中,有哪些常见的最佳实践来平衡对信息隐藏的需求和过程接口中适当的抽象级别与引入隐藏依赖项所固有的问题?
更具体地说,假设我编写了一个名为 getEmployeePhoneNbr(employeeId) 的过程。在内部,该过程是通过查询以employeeId 为键的数据库表来实现的。我想隐藏那些实现细节,但现在该过程依赖于一个外部文件,如果环境发生变化,这会阻碍它的使用。
任何时候过程使用外部资源(文件、数据库等)时都会发生相同的情况。在过程中硬编码该资源的使用感觉是错误的,但我不确定替代方案是什么。
请注意,我不是在使用面向对象的语言。在可能的范围内,我最感兴趣的是广泛适用于任何类型语言的响应。
谢谢,马特