在命名空间下组织Apex类

Mit*_*dia 11 salesforce apex-code

Salesforce中是否有任何方法可以在包或命名空间下对apex类进行分组?我们可以将托管包用于内部组织目的吗?

Jer*_*oss 10

这是force.com堆栈中的一个限制,即使不是不切实际,也会使中大型项目变得痛苦.使用托管包来获取包前缀并不能真正解决任何问题,因此它不值得麻烦.

我通常会尝试将项目组织到一个级别的命名空间中.代替实际的命名空间,我将为每个将要命名空间的名称赋予3-5个字符的名称,以用作前缀.属于"命名空间"的任何类都有前缀.例如,如果我需要payroll命名空间,我会使用PYRL前缀.称为A类PaycheckCalculator变成PYRL_PaycheckCalculator.

这种类型的约定的实际优点是它有助于防止名称冲突和类在排序列表中查看时按"命名空间"分组,例如在IDE中,或者设置>开发> Apex类

不幸的是,几个基本的OO原则仍然从根本上被打破.也许最重要的是每一个类上形成一个隐含的依赖每个其他类具有可见性,这是所有的人.

我很想知道别人如何解决这个限制.

  • 同样的工作......前缀约定,我讨厌它。根据今年 Dreamforce 的“与开发人员见面”会议,我们很快就会看到具有满足这一需求的功能的版本。 (2认同)