NeelZone

What's in the Zone?

Archive for April, 2007

The Dependency Injection Meta-Container

Posted by indroneel on April 29, 2007

Of late, the dependency injection pattern has gained prominence as a common feature provided by many object-oriented frameworks. Included in this list are new entrants like JBoss Seam and Google Guice as alternatives to the more popular Spring framework. Existing platform, such as Struts and EJB, are also making a move towards this paradigm.

The prevalence of dependency injection has resulted in certain interesting possibilities that are mostly to do with interoperability, transparency and integration across frameworks and containers. In this article we shall take a closer look at these possibilities and propose solutions for the same. Read the rest of this entry »

Posted in design, framework, pattern, programming | 9 Comments »

The Portable Workspace

Posted by indroneel on April 21, 2007

The term ‘workspace’ means different things to different people depending on the context in which it is used. In this article we shall use this term to denote the set of applications and associated data pertaining to an user’s daily activities on a single computer.

The user’s workspace is a dynamic environment. Applications are added or removed, usually using installation processes defined by the underlying operating system. At the same time, data associated with those applications are continuously modified. Workspaces tend to get fragmented over time with application files and user data spread across multiple folders in totally unrelated paths such as user profile, system and application root directories. All these factors make the workspace non-portable.

A portable workspace is one that can be moved across multiple computers without requiring repeated installation, customization and data setup. Such repetitions can be quite an overhead if your workspace includes applications that are non-trivial in nature (e.g. office suites, Web browsers, mail clients, multimedia tools and development environments to name a few). Read the rest of this entry »

Posted in desktop, open source, productivity | 5 Comments »

Scripting Web Graphics

Posted by indroneel on April 18, 2007

Creation of even the simplest graphical elements can be a tiresome experience without a prior background and training in visual design. Most developers would rather work on the next application functionality than fiddle around with Photoshop and similar imaging tools. Usability and aesthetics are considered to be the prerogatives of Web designers as a distinct and separate group of professionals.

This article takes a closer look at some of the major issues faced by programmers with image manipulation and proposes a developer-friendly solution for the same. Read the rest of this entry »

Posted in development, graphics, productivity, programming, web | 2 Comments »

Engineering Effective Frameworks

Posted by indroneel on April 11, 2007

The rise in popularity of object-oriented frameworks is synonymous to the growing prevalence of Java and .NET platforms for enterprise application development. With mature frameworks numbering in the hundreds, it is only natural that there is a significant overlap in the target scenarios addressed by these solutions. While this poses a problem for application developers in choosing the right set of frameworks, it is equally challenging for framework providers to encapsulate the right mix of paradigms, concepts and features for their products to be widely accepted.

Over a period of time, and with the availability of proven design patterns and principles, framework development has become increasingly standards-driven. This has reduced technical maturity to being a qualifying factor rather than a differentiator for competing frameworks in the same technical space.

This article outlines some of the factors (apart from technical maturity) that should be considered while developing effective object-oriented frameworks for better acceptance. Read the rest of this entry »

Posted in design, development, framework | 3 Comments »

Injection and Inversion

Posted by indroneel on April 4, 2007

A lot of programmers I interact with are unable to differentiate between dependency injection and inversion of control. Thanks to the popularity of Spring framework and EJB 3.0 there is now a tendency to use these terms interchangeably, even as they represent distinctly different concepts, resulting in a lot of ambiguities.

Inversion of control has its antecedents in the Hollywood principle (don’t call us, we’ll call you) and is not a design pattern. Rather, it is a general principle that is realized in multiple design patterns. Dependency injection is one such pattern that builds on top of this principle. Inversion of control is one of the tenets for all object-oriented frameworks, but not all object-oriented frameworks provide the features of dependency injection. Read the rest of this entry »

Posted in design, framework, pattern | 12 Comments »