摘要:
An application program interface (API) provides a set of functions, including a set of base classes and types that are used in substantially all applications accessing the API, for application developers who build Web applications on Microsoft Corporation's .NET™ platform.
摘要:
A delegate-based event-driven programming model facilitates application development by allowing event handlers to be manipulated on an individual basis. In the delegate-based event-driven programming model, the recipient of an event need not be aware that is receiving the event because the event is treated as a call from a method. In addition, event handlers can be dynamically manipulated, such that recipients of events can be added or removed during runtime. Flexibility of event handling is improved as a result.
摘要:
A method of building a dataset in a computing system includes extracting data meeting a predetermined criteria from at least a first database, filling the dataset with data items, extracting from the first database relationships between the data items meeting the predetermined criteria, and filling the dataset with the relationships. A system for building a dataset in a computing system includes a data extraction module, a data populating module, a relationship extraction module, and a relationship populating module. The data extraction module extracts data meeting a predetermined criteria from at least a first database. The data populating module fills the dataset with data items. The relationship extraction module extracts from the first database relationships between the data items meeting the predetermined criteria. The relationship populating module fills the dataset with the relationships. A dataset contained within memory of a computing system includes a table component for containing data extracted from a database. The dataset also includes a relations component for containing relationships extracted from the database.
摘要:
Data is separated from source. Datasets store tables of data and a graph of the relationships between the tables. The relationship can change at any time. The relationships are described by metadata that describe primary key, foreign key, and lookups, and other relationships between tables. In one embodiment, the tables of data are typed columns of data. The dataset also includes information on the rowstate and differential preservation, therefore, the source does not need to manage states of the data access. Adapters abstract the interface to datasets. More specifically, adapters manage the input/output to the datasets of the tables of data and the relationships. Adapters can be specialized in their purpose, such as an adapter for OLE data or XML data or generalized in their purpose. Furthermore, a composite adapter is specialized for the purpose of interacting with other adapters. Adapters manage the connection to the dataset and the name of the server that hosts the dataset. Data hoisting is implemented, in which the fluid relationship of data is changed in response to current data needs.
摘要:
Method and apparatus for encapsulating a reference to a method in object-based programming systems and ensuring that the reference is safe are disclosed. The method of encapsulation provides for: a) defining an entity that defines the shape of the method to be referenced; b) obtaining a reference to a method; c) storing this reference in arbitrary data structures; d) passing the reference to code written by other parties; e) enabling invocation of the method by anyone holding the method reference; and f) enabling the holder of a method reference to determine the target object and method being referenced. These objectives are achieved in a strongly typed manner, making it possible for: a) developers to learn of type mismatch problems early (at compile-time) rather than late (at run-time); and b) development tools to present information to developers about the shape of components that use delegates. In addition, a model of event based programming is disclosed, wherein event-related code can be encapsulated in delegates.
摘要:
A visual development system is described which provide “method pointers” allowing a developer/user to achieve delegation between objects programmatically as well as visually. Delegation “binds” an event source with an event handler. This binding is directly supported within the programming language of the system. Using a simple assignment statement, the user can assign a handler of one object (i.e., delegated-to object) to the method pointer of another object (i.e., delegated-from object). A delegation through assignment leads to not only the address of the method being copied but also the address of the delegated-to object (i.e., “this” pointer) being copied into the method pointer. The method pointer, when called, can invoke the pointed-to method on that (delegated-to) object, complete with the context (e.g., local data) of the object. The object knows about itself and, thus, can provide the appropriate context. In this fashion, the system allows the user to easily control object behavior through delegation, whether the user is working in a visual environment or a programming environment (or switching back and forth between each).
摘要:
A three-tier data processing system of the present invention includes a client application, operating on a client machine (i.e., first tier), which obtains data from a back-end data source (e.g., database server) by submitting a request (e.g., SQL query) to a middle tier. The middle tier, in turn, comprises a provider and a resolver. Data is actually returned to the client by means of a "data packet" of the present invention, which is a platform-independent self-describing data format used to exchange data between different subsystems of the architecture. A data packet normally represents a result set, which is received by a client from a remote server, containing both data and metadata. Upon receiving the data packet from the provider, the client unpacks the data and then proceeds to process and manipulate the data as if it were local data (e.g., for insert, deletes, updates, and the like). Additional data packets are provided for special purpose use, including a "delta" data packet, used when applying client updates, and an "error" data packet, used to report results (including errors, after a failed update attempt) back to a client. The resolver, upon receiving a delta data packet, applies logic for effecting the user-specified modifications to the data set present at the back end. In the event that the resolver is unable to apply the user-specified modifications, it reports the failed operation back to the client via an error data packet.
摘要:
Data source queries may be specified in various languages, such as SQL, XQuery, and object-oriented languages, and each language may have various linguistic features that enable different types of queries. It may be advantageous to formulate mixed language queries having portions specified in a first language and portions specified in a second language, and to provide mixed language query evaluation components that can parse portions of queries of different languages. It may also be advantageous to permit the translation of single language queries into multiple languages to be parsed by such mixed language query evaluation components. Such techniques may permit queries to utilize linguistic features and processing techniques of one language that are less efficient, less direct, or simply unavailable in another language.
摘要:
An object reference is tagged with an isolation permission modifier. At least two permissions can be included, and in an example three permissions are included. In implementing the permissions, type modifiers for controlling access to type members through references pointing at an object are defined. One of the type modifiers is associated with each occurrence of a type name. Each of the of type modifiers defines a different access permission to restrict operations on the object to which the reference points.
摘要:
A dynamic programming environment includes a dynamic runtime infrastructure configured to receive static metadata as source text in a source code written in a dynamic programming language. The dynamic runtime infrastructure determines an object representation based on the static metadata from the source text in the source code.