application block

What is application block?

When you start to develop more than 2 applications, you will see that we have some part of code in common. All this common part, db layer, caching system, authentication process, File export, reporting, file import, configuration, log system, … are the block application!

In a lot of firm we used a Toolbox where we find all this kind of application block to share it across all project.

Microsoft have released some application block long time ago but it have never been really used by Dev. Here or here, or even Part1, Part2 you have good tutorial about that.

In another part of the web, you have something marvelous which release name Ruby on Rails which is a framework + Tools to generate all by template. It is good for web but nothing for Winforms, only on ruby. But a lot of other little son appeared for other language (Monorails for .NET, Django for python, …)

What we see here is that Ruby made something totally expandable with some basic example. Sharing tempalte is really important and the issue with basic ToolBox is that it is used only in one entreprise. So we have not the power of community. Community is always better above all. Wikipedia, open-source project,… are just few example of community powerful. Tool are not linked to a non free IDE (do not need Visual Studio…). Ruby not have only template of business class but too for view part. Ruby make the structure too. So lot of other things in ruby in fact…

At the End VS2005 make snipset in VS2005 to have small template system. But we still have nothing for structure and db layer and view template, business template…

Microsoft have released some framework WWF(workflow) , WCF(communication), WPF & Silverlight(presentation), LINQ(database and Xml), … And finally it is not so good.WWF bring work-flow but is far from a work-flow application as Worky or WorkflowGen. WCF only manage service to trigger action but we have nothing about data file transfer. WPF is realy cute but no template or automation here.To much complicated and no console tool or good GUI… You always have to write XML file so we change the language to gain some lines but nothing as good as ruby. No auto generation thanks to template system.

MS have done too profiler for .NET 2.0. So a lot of thing but nothing really easy to used /user friendly and quick. Nothing which rox all. We have framework syndrome with some expandable class but no real business class to used. It give some authentication process but nothing to say, I want to authenticate via user table in DB or via Active directory, or even via config file…

So, .NET need a real tool to make not only template as ruby but to manage small template (snipset) , middle template ( controller, viewer, model) and Big template (authentication process, File importation, Search Engine, File exportation, work-flow, …). So all we see is different little framework but not a big framework which done all, expandable, centralized, pluginable , which can be linked to IDE or console, cross-language, cross-platform, open source,… To sum up which take power of community with all basic things in it.

I hope I will see something similar in Mono. I know that just a dream but we really need it to have not to always reinvent the wheel.

This entry was posted in development, Mono, new technology, Technology. Bookmark the permalink.

3 Responses to application block

  1. garuma says:

    If you want to autogenerate code from template you can follow the MDA style and use a tool like Acceleo ( to produce the end code. Acceleo is open-source, mature and has recently added support for C#.

  2. dufoli says:

    There is a lot of other template system like NVelocity. The one you talk come from java world and I am not sure it is good for csharp. It is seems good to genererate code for any language and based on UML 2.0 which seems good. I will try it when I have time. Is it a start product or ever used by a lot of people?

  3. dufoli says:

    I have watch all presentation video and read documents.
    First you need to use eclipse to made all even if you are under VS.NET. So far from .NET world and to much integrate in java world.
    It seems powerfull but I need to see it in action. For have ever used UML during long time. It appear to be easier for user to understand. UML is good for presentation but at use in code very bad. Because you have always to synchronise code and UML. And it take time to generate it. I prefer to use snipset to go faster and region to hide code inner function/Properties… All experience I have with UML become bad and finnaly it is good to present idea to non developper but to generate code it is not very powerfull. I really prefere template system. It seems to support both of code generation.
    For me, we must have UML of main class or DB diagramme to show how it work to other people and it is all!
    Other things must be done in IDE with an integrate generator.
    The only external tool must be to edit read template.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s