|
Overview
Today's software applications are more capable and easier to use than ever
before. Yet as their feature sets have grown in complexity and size, they have
become increasingly difficult and costly to engineer, maintain, and upgrade.
Adding new features always runs the risk of introducing new, sometimes intractable
bugs and endangers backward compatibility with earlier versions. In addition,
most applications are monolithic, providing rich sets of features but no easy way
to add missing features or remove unneeded ones. Applications that do support
adding and removing features in the form of plug-in components may expose their
services to sibling applications from the same vendor but rarely to those from
entirely different vendors. As a result, applications from different vendors
typically work together poorly or not at all.
Operating systems have a related set of problems. Because most operating
systems are not sufficiently modular, upgrading, replacing, or overriding existing
services in a clean, flexible way is difficult. Like application developers,
systems vendors face the difficult choice of foregoing or compromising needed
improvements in order to maintain backward compatibility, or disenfranchising
existing users in order to move the technology forward. These are choices that serve
no one.
Software developers have recognized for some time that object-oriented
programming offers promising solutions to several of these problems. By encapsulating
data and functions in a single entity, then providing access to this rich
content through a single reference, or pointer, object-oriented programming makes it
possible to break down monolithic applications into functional modules, or components, that can be added or removed as they are needed. Moreover, object-oriented
programming can potentially reduce the expense of implementing new objects by
enabling them, through mechanisms such as inheritance, polymorphism, and
aggregation, to make use of the capabilities built into already-existing objects.
Even so, object-oriented programming has yet to reach its full potential
because no standard framework has existed through which software objects created by
different vendors could interact with one another within the same address
space, much less across process, machine, and network boundaries. Once you have
broken down software into manageable, interchangeable components, you need some way
for those components to communicate. That's where OLE comes in.
OLE provides a standard conceptual framework for creating, managing, and
accessing object-based components that provide services to other objects and
applications. OLE components can exist as parts of an operating system or application,
or as stand-alone entities, and the services they provide can be most anything
that operating systems and applications currently supply. You can use OLE
components to expose both data and services to programs created by other vendors
and write your own applications in such a way as to take advantage of services
provided by others. You can also extend or customize basic OLE services to suit
the needs of your objects and applications while guaranteeing that they continue
to work with other OLE components.
| Last news from Greatis Software |
 |
|
Nostalgia .Net |
|
.Net is powerful, but not all-powerful, so sometimes we need to use Win32 API for our .Net applications. It's simple enough with Platform Invoke if you have Win32 skill, but we do not always have time to dig the ancient documentation, declare the special types that are compatible with Win32, find the values of the Win32's constants and so on. Nostalgia .Net offers several simple-to-use classes, and components that will allow you to forget about the headache of Win32 and just use the power of Win32 in your application the same way as you use the native. Net classes. More » |
| Recommended software for developers |
 |
|
Ultimate Pack |
|
Component pack for Delphi and C++ Builder that contains runtime form designer, runtime object inspector, print suite and much more for the very special price. More » |
 |
|
Form Designer .Net |
|
Unique runtime form design solution that allows to edit any form in .Net WinForms application at runtime with full source codes for only 300 euro! More » |
 |
|
Print Suite .Net |
|
Print Suite .Net is a set of components for easy printing texts, images and grids from your WinForms applications. Full C# source codes are available More » |
 |
|
Gradient Controls .Net |
|
Gradient Controls .Net offers controls with gradient background feature. Labels, panels and so on... Full C# source codes are available More » |
 |
|
Greatis iGrid |
|
iGrid plots drawing grid right over your desktop, so you can use it everywhere, with any drawing application without any special plugins for different graphic editors. More » |
All the contacts and projectsDmitry Vasiliev (just.dmitry)
Related LinksSoftware for Visual Studio .NET developers Software for Delphi and C++ Builder developers Software for Visual Basic 6 developers Delphi Tips&Tricks MegaDetailed.NET More Online Helps Win32 Programmer's Reference Win32 Multimedia Programmer's Reference OLE Programmer's Reference Microsoft Windows Pen API Programmer's Reference Microsoft Windows Sockets 2 Reference Microsoft Windows Telephony API (TAPI) Programmer's Reference Unix Manual Pages
|