One of the coolest new capabilities we're building for Enterprise Library v3 is the Application Block Software Factory. As its name ever-so-subtly suggests, this will be a software factory for building your own application blocks. We'll be including an early drop of this factory in the first preview release of Enterprise Library v3 (soon, I promise!) - but in the meantime this blog is, as always, your best bet for some early details.
First, let me explain why we wanted to include a block factory in Enterprise Library. Right from the start, we built Enterprise Library with the expectation that people would want to extend it - either by building new providers, or by building entire new blocks. But while some types of extensibility are relatively straightforward for developers, things quickly get more and more complex if you want to do things like create strongly typed configuration classes, configuration design assemblies, or your own blocks with factories and provider hierarchies.
In EntLib v1 we included the "Hello World Application Block". While it wasn't hugely popular in enterprise applications (apparently people just aren't building applications that need to provide customized greetings :-), it did serve a useful purpose in providing simple examples showing the common patterns for building your own blocks. In v2 we didn't get time to update the Hello World Application Block, which was a shame as extending Enterprise Library actually got more complex as a result of the decoupling of blocks from configuration and the use of Object Builder. The source of all knowledge on building and extending v2 blocks is Brian's webcasts (here and here), but while the webcasts are a lot fun, it isn't necessarily the best format for helping you do the same.
In the meantime, we've started playing around with software factories, and we think this is a better way of demonstrating and automating routine but sometimes complex tasks when building a particular type of application (or application block, in this case). While the block factory in Enterprise Library won't be quite as in-depth as the standalone software factories, it does follow the same basic approach, and we're pretty excited about the potential for the factory to bring block- and extension-building to the masses.
So what does the factory let you do? This activity diagram shows the key stages to building a block or provider library, and the factory will include one or several recipes to help automate each step:
There are two basic scenarios supported by the factory: creating your own blocks, and creating your own provider libraries. Let's start with the provider library activities. A provider library is an assembly that contains providers for a block that lives somewhere else, for example you may want to create your own assembly with TraceListeners, Filters and Formatters that extend the Logging Application Block.
Now on to building your own application block:
Here's a screenshot showing how some of these recipes will turn up in a solution built with the Application Block template:
Of course, none of this is going to put developers or testers out of work - even with the factory you'll still need to write and test plenty of code. But we're hoping that the factory will make you more productive, make building blocks and providers accessible to more people, and will hopefully result in a lot of weird and wonderful new blocks in the community and in your organization.
As soon as the preview is available, I'll let you know...
Application Block Software Factory
Yes, it's finally here. The patterns & practices team is pleased to announce the official release
Enterprise Library 3.0 – April 2007 发布
Enterprise Library 3.0 Released
The patterns & practices team has announced the official release of Enterprise Library 3.0 - April
Most excellent. I have looked at Enterprise Library in the past, but never quite found a suitable project
Overview The patterns & practices Enterprise Library is a library of application blocks designed
Despues de mucho esperaracion oficial del Enterprise Library 3.0 - April 2007 para.NET Framework 2.0 / 3.0. Punntos sobresalientes Si estuvieron tan atentos como yo los CTPs no habra muchas sorpres ...
EntLib 3.0 just dropped . Go get the bits here . For more details, see Tom Hollander's most excellent
Tom Hollander今天在他的个人Blog中宣布，将会在下一个版本的Enterprise Library（开发代号为Enterprise Library v3）中提供一项非常酷的功能，就是Application Block Software Factory。 在之前两个版本的Enterprise Library中，我们也可以创建自己的Application Block，并且在Enterprise Library Jan2005中还提供了一个简单的自定义的Application Block的示例，但是对于开发人员来说，创建自己的Application