Previous Topic: Adding Functionality to the Project Entity

Next Topic: Generating and Building the Project Entity

More About Scope

A scoped object is an object that belongs to another object. A scoped object cannot exist independently of the object by which it is scoped. For instance, a panel that is scoped by a function is deleted when that function is deleted.

Some types of objects are unscoped. This means that they exist independently of all other objects in the model. For example, entities are typically unscoped. Conversely, a table is always scoped to an entity. To create a table object, you must specify the entity to which it belongs.

When you refer to a scoped object, you often need to use its full name to avoid ambiguities. For example, there is an entity called Project that scopes a function called Edit. The function’s full name is Project.Edit, which distinguishes it from other Edit functions such as Employee.Edit that also exist in this model.

The previous steps showed you how scoped objects are usually created when you inherit from a pattern. You can also create them manually.