Common Components™ News

Common Components SDK v1.6.0 now available.
Common Components News 4/15/2008 9:32 PM

Common Components SDK v1.6.0 can now be downloaded from our website. This version has a minor improvement to the graph-building feature-set and a new feature-set we call "ordered roles."

Enhanced Graph Building:

We now support graph-node-builders which do not, themselves, build anything but delegate to other builders. An example of where you might use this feature would be when your builder has to choose at the last second which of two builders is the right one. GraphNodeStagingPoint now has a ForwardTo method which accepts another graph-node-builder. For all intents and purposes: this merges the current graph node staging point with a new one, associated with the correct builder.

Role Odering:

One of the more powerful concepts in this framwork is that of the composite object processor. This is, more or less, a pretty generic way of expressing either a Chain of Responsibility, or a Decorator (depending on which variant you use). While their interfaces aren't quite as intuitive as "home grown" implementation of said patterns, we have found the ability to write generic clients which manipulate CoRs and Decorator chains to be an overpowering advantage. That and you can always encapsulate...

The primary measurement of this advantage is flexbility... the ability to fairly intelligently merge sets of rules into a cluster of objects which behaves as though it is just another variant in some Strategy pattern. The key, however, is that "fairly intelligently" part. We found ourselves using the same set of... meta rules?... to control how bundles of rules were merged together into a single object processor. Those "meta rules" are what this new feature-set encapsulates.

Take a look at the Ordered Role Set and friends. These objects let you reliably build ordered lists of roles while only specifying the minimum amount of information necessary. More importantly: you only have to make those specifications where they matter. Whereas, in the past, we might have made some kludge to manage this - priority numbers, some overly complex network of relationships, or whatever - with the ordered role set, we have a very simple solution...

We declare a number of "buckets" (roles). Every rule goes into one bucket. If you are writing rules that fulfill more than one role, you probably shoul not be using this framework. Each rule, then, declares not only the role it fills, but the roles it precedes and succeeds. The result is an extremely flexible mechanism for specifying how rules work together. The rules which are born with the most knowledge (the ones born most recently) an use that knowledge to exhert the greatest amount of influence over the workflow in which they reside.

FREE:

Common Components is still completely FREE.

Common Components SDK v1.5.1 now available.
Common Components News 2/10/2008 10:27 PM

Common Components SDK v1.5.1 is now available for download. This version has been upgraded to depend upon Bootstrap 1.4.0 and places assemblies in the GAC to support installation of multiple versions.

Expanded Reference Support:

Two new types of References have been added: type-constrained and thread-local. The Reference interface has been split into two two base interfaces: readable and writeable. That last bit forced us to change the interface for Reference. Instead of having a property named "Value," it now has two methods: GetValue and SetValue. We hope this hasn't caused anyone too great an inconvenience but better now than later. The benefits outweigh the costs.

Lease Management:

This is the big block of new value added in version 1.5.0. Lease Management allows you to provide an easy interface to consumers of a resource while injecting as simple or complex an ownership management model as you like underneath.

Other Gadgets:

While we're not ready to call it a full-on framework, we've started laying the foundation of an Unstable Resource Management framework. Take a look at the UnstableResourceScope type.

FREE:

Common Components is still completely FREE.

Common Components SDK v1.5.0 now available.
Common Components News 2/10/2008 10:27 PM

Common Components SDK v1.5.0 is now available for download. This version comes with richer Reference options, a new object-lease-management framework, and some other gadgets.

Expanded Reference Support:

Two new types of References have been added: type-constrained and thread-local. The Reference interface has been split into two two base interfaces: readable and writeable. That last bit forced us to change the interface for Reference. Instead of having a property named "Value," it now has two methods: GetValue and SetValue. We hope this hasn't caused anyone too great an inconvenience but better now than later. The benefits outweigh the costs.

Lease Management:

This is the big block of new value added in version 1.5.0. Lease Management allows you to provide an easy interface to consumers of a resource while injecting as simple or complex an ownership management model as you like underneath.

Other Gadgets:

While we're not ready to call it a full-on framework, we've started laying the foundation of an Unstable Resource Management framework. Take a look at the UnstableResourceScope type.

FREE:

Common Components is still completely FREE.

Common Components SDK v1.4.0 now available.
Common Components News 2/10/2008 10:27 PM

Common Components SDK v1.4.0 is now available for download. This version includes support for more kinds of object processors and introduces the concept of container rules. We also added a suite of examples.

SequenceObjectProcessorBuilder:

The concept of a composite object processor has been abstracted and there are two variations: "Chain" and "Sequence". The "Chain" object processor builder still helps you "find the right handler." The new "Sequence" object processor builder helps you broadcast requests to all appropriate objects. It is intended to help you add features to a logical entity by composition (see the Decorator Pattern link below).

Container Rules:

Container rules are object processors that encapsulate entire logical rules. The same way that encapsulation allows us to treat a cluster of objects as whole from without, container rules allow parts to interface with the whole from within.

EXAMPLES:

We have included a suite of examples to help you visualize what Common Components can do for you.

FREE:

Common Components is still completely FREE.

Common Components SDK v1.3.2 now available.
Common Components News 12/29/2007 5:44 PM

Common Components SDK v1.3.2 is now available for download. Version 1.3.2 is much faster than 1.3.0.

Common Components SDK v1.3.0 now available.
Common Components News 12/22/2007 4:19 PM

Common Components SDK v1.3.0 has been released and is available for download. This revision comes packed with many new features. It comes with support for building immutable object-structures that contain circular references, strategy objects that can easily be extended by composition, and advanced XML serialization. This MSI is also signed, as is the case with all components v1.3.0 or later.

No more wrestling with complex object graphs. No more wedging hacks into your type-systems and creating setters that "shouldn't" be used at certain times. We have created a flexible, reusable solution that lets you build truly immutable graphs that have shared objects and even instance-cycles. Download the free SDK to try it out.

We now have a flexible Strategy implementation with which you can create pre-configured builders for strategy objects that can easily be extended to handle new or more refined cases. Even though the builders can be mutated, the strategy objects are not, so you can rest assured that encapsulation still reigns supreme. Try it, now, to see what it can do for you.

.NET XML serialization works when you have a class-structure that closely matches your schema and lacks certain code qualities (like encapsulated construction). Our XML serialization solution takes you one step closer: Map your intentions, not your design: the objects produced by our extended XML serializers can have all the code quality you like. Download the free SDK to see what it can do.

The Common Components News channel is now open!
Common Components News 11/27/2007 5:04 AM

You've found the source for the latest Common Components news and alerts.

Check this page on a regular basis, if you're interested in releases, features, or product updates.