Blogs‎ > ‎

Articles

  • Choosing Flex Framework This article provides a summary of the most popular frameworks currently available for Flex so that you can make the most informed choice possible regarding which framework best suits the needs of your team or project. It covers the Cairngorm, Mate, PureMVC, and Swiz frameworks. I chose these frameworks in particular because they have been covered by the Flex show podcast and/or have been presented at conferences such as 360|Flex. The Cairngorm framework Cairngorm is the oldest and best known of the Flex frameworks. It is actually a micro-architecture—that is, a collection of design patterns that have proven to work well with one another. Cairngorm borrows heavily from the world of Java development and focuses on ...
    Posted 17 Nov 2011, 08:20 by Sanjeev Kumar
  • Package By Feature The first question in building an application is "How do I divide it up into packages?". For typical business applications, there seems to be two ways of answering this question.Package By FeaturePackage-by-feature uses packages to reflect the feature set. It places all items related to a single feature (and only that feature) into a single directory/package. This results in packages with high cohesion and high modularity, with minimal coupling between packages. Items that work closely together are placed next to each other. They aren't spread out all over the application. It's also interesting to note that, in some cases, deleting a feature can reduce to a single operation - deleting a directory. (Deletion operations ...
    Posted 17 Nov 2011, 07:24 by Sanjeev Kumar
  • Scalable System Design Patterns Load BalancerIn this model, there is a dispatcher that determines which worker instance will handle the request based on different policies. The application should best be "stateless" so any worker instance can handle the request.Scatter and GatherIn this model, the dispatcher multicast the request to all workers of the pool. Each worker will compute a local result and send it back to the dispatcher, who will consolidate them into a single response and then send back to the client.Result CacheIn this model, the dispatcher will first lookup if the request has been made before and try to find the previous result to return, in order to save the actual execution.Shared SpaceThis model also ...
    Posted 17 Nov 2011, 08:45 by Sanjeev Kumar
  • Misconceptions About Software Architecture References to architecture are everywhere: in every article, in every ad. And we take this word for granted. We all seem to understand what it means. But there isn't any wellaccepted definition of software architecture. Are we all understanding the same thing? We gladly accept that software architecture is the design, the structure, or the infrastructure. Many ideas are floating around concerning why and how you design or acquire an architecture and who does it. Here are some of the most common misconceptions about Software Architecture. Architecture and design are the same thingArchitecture is design, but is not all of the design. Architecture is about making decisions on how the system will be built, it stops at the ...
    Posted 30 Nov 2011, 09:20 by Sanjeev Kumar
  • Writing Effective Designs OverviewAs the software development is maturing, the HLDs and LLDs are widely accepted as an integrated part of software development cycle, no matter what software development methodology we use. Even though the need of having a design is accepted and 30% to 40% of the total development effort is spent on design, it is rare to see effective designs that lay strong foundation for the application development. Very often they fail miserably in providing guidance and clarity for the development teams to start with and as a result the actual implementations are miles apart from the original design. In fact, in many cases the only useful purpose design serves is to complete the list of deliverables for the project ...
    Posted 30 Nov 2011, 03:43 by Sanjeev Kumar
  • Refactoring Techniques What is Refactoring anyways?Refactoring is the process of changing a computer program's source code without modifying its external functional behavior in order to improve some of the non-functional attributes of the software. It is a disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behaviour. Advantages include improved code readability and reduced complexity to improve the maintainability of the source code, as well as a more expressive internal architecture or object model to improve extensibility. Its heart is a series of small behavior preserving transformations. Each transformation (called a 'refactoring') does little, but a sequence of transformations can produce a significant restructuring. Since each refactoring is small, it's ...
    Posted 1 Dec 2011, 00:43 by Sanjeev Kumar
Showing posts 1 - 6 of 6. View more »
Comments