在 PDN 中,他们在 System Architect Essentials II 课程中提到双继承在概念上类似于许多编程语言的单继承。什么是模式继承和定向继承?它们之间有什么区别?
3 回答
那么在 Pega PRPC 中,有两种类型的继承:
- 定向继承
- 模式继承
模式继承是命名约定的继承,其中定向继承是外部继承或高级继承。
Pattern Inheritance优先于Directed Inheritance。根据 Pega,如果 PRPC 需要查找特定类可以使用或有权访问的 RULES(可重用组件),首先它们会搜索模式继承。这不过是在 Pega 中命名特定规则所遵循的命名约定。如果 PRPC 通过模式继承没有找到 RULE,它将在 Directed继承中搜索 RULE。
例如,在 Pega 中命名规则时,我们使用Org-Sub-Work-ClassName,这意味着ClassName继承自Org-Sub-Work类,并且它是Work-Cover-的一部分。如果我们看到这个类的继承,这将显示为:
Short Description | Name
|
ClassName | Org-Sub-Work-ClassName
Work (Default Work Pool) | Org-Sub-Work
HRServices Namespace | Org-Sub
Top Level Class | Org
Cover classes | Work-Cover-
Work classes | Work-
@baseclass | @baseclass
如果 PRPC 需要搜索ClassName的 RULE ,会先在Org-Sub-Work中搜索,如果没有找到,则在Org-Sub中搜索,如果在 RULE 中也没有找到,它将在Org中搜索。一旦没有找到,PRPC 就会开始在Work-Cover-中搜索;未找到,Work-中的下一个匹配项。如果在Work-中找不到,则必须在@baseclass中声明,否则会将其标记为不存在。
综上所述,上面的ClassName也继承了Work-Cover-,但是,这里要注意的一点是在 Pega 中,“只有类,没有接口”。因此,您可以将Work-Cover- 视为一个接口,而不是一个普通的类。因此,我们可以扩展一个类并实现一个接口。
可以在 PDN上找到这两种策略的描述
直接继承定义了类的行为,而模式继承定义了我们从中继承属性的类。通过这样做,Pega支持多重继承。