-
Notifications
You must be signed in to change notification settings - Fork 263
High Level View of ATF
ATF is a software framework for developing applications that are especially useful to game developers. ATF can also be regarded as an extension of the .NET framework, because it is a set of C#/.NET components. ATF has followed design guidelines to provide a unified programming model with .NET to enhance developer productivity.
ATF is oriented toward developing the kind of applications game developers can use with the controls and components it provides. For instance, it offers a statechart renderer to use in developing an editor that shows states and transitions, as illustrated in the State Chart Editor sample.
Some ATF classes are constructed as Managed Extensibility Framework (MEF) components, and this allows incorporating them into an application very easily. These components offer capabilities common to many applications, such as adding a File menu with its standard commands, providing standard file dialogs, or adding a palette of objects to a UI, so you don’t have to develop these pieces again. For more information, see Managed Extensibility Framework (MEF).
Applications typically allow for creating and editing data, and the following data-related functionality is usually necessary: keeping multiple views of the data in sync, undo/redo, cut/copy/paste, and persistence in a file. The Document Object Model (DOM) is a simple hierarchical in-memory database that provides a mechanism for observing changes in the data, and can be used to provide these necessary features. The DOM is very similar to an in-memory XML file, and classes are provided to persist application data in XML files. The DOM structure can be defined using schema files. However, the DOM and XML-support are completely independent, and one is not required for the other. For information, see Document Object Model (DOM) Framework and Document Framework.
Applications often support viewing and editing multiple documents at once, each with their own selection set and their own undo/redo history, for example. ATF calls these independent groups of data contexts. In most applications, a context is associated with a single document that is loaded into memory, but documents and contexts are separate. A single physical document can contain multiple contexts and a single context might know about data in multiple documents. ATF provides a framework for handling contexts. Editors and various tools and commands typically make use of the currently active context. For more details, see ATF Contexts.
Adaptation is a technique used in ATF to allow one type of C# object to look like another, without using inheritance. If the DOM is used, adaptation is especially important, because it allows the basic database class, DomNode, to look like a more convenient application-specific class throughout your code. This also allows the data representation to be independent of “business logic”. In terms of software engineering design patterns, adaptation consists of the Adapter and Decorator pattern. For more information, see Adaptation in ATF.
You can develop applications using both Windows Forms (WinForms) and Windows Presentation Foundation (WPF), as shown in the Win Forms App and Wpf App samples. For more information on these samples, see ATF Code Samples.
- Home
- Getting Started
- Features & Benefits
- Requirements & Dependencies
- Gallery
- Technology & Samples
- Adoption
- News
- Release Notes
- ATF Community
- Searching Documentation
- Using Documentation
- Videos
- Tutorials
- How To
- Programmer's Guide
- Reference
- Code Samples
- Documentation Files
© 2014-2015, Sony Computer Entertainment America LLC