Skip to main content

Design Pattern : Reusable OO Design

What is meant by design Pattern?

From Wiki Definition , in software engineering, a design pattern is a general reusable solution to a commonly occurring problem
within a given context in software design.

What is meant by that?

Suppose there is a team of four to five people working on ABC project for their client X.
After successful delivery Client wants some changes to project.
Some changes not a Big Deal.While incorporating that changes team stuck to many problems such as changing some Model Diagram Structure,Some interface,Moving methods of Class,Object creation.
After thinking so much, they have designed Specific template to solve this problem and incorporate it in project.

Then there is another team working on XYZ project for client A.But this team member knows that ABC project team have specific template.With the help of that design this team understood that in futer we may stuck with same problem that earlie team had stuck.
Hence they incorporated the changes.After successful delivery of project Client A send some new changes.But fortunately this changes are similar to that of Client X.
That means project XYZ is already capable of grasping that changes and in a very short time.

Here that Design Template is nothing but the design pattern.

How many design pattern are present?

Mostly categorised into three

1. Creational Design pattern
    Creational pattern helps you to instantiate object

   e.g. Singleton,Prototype,Abstract Factory,factory Method,Builder

2. Structural design pattern
        Structural pattern uses inheritance to compose interfaces and objects to obtain new functionality.

  e.g. Adaptor, Bridge,Composite,Decorator,Proxy,Fa├žade,Flyweight

3. Behavioural Design pattern
     Behavioural pattern concern for communication between objects

 e.g. Mediator,Observer,Strategy,State,Chain Of Responsibility,Command,Iterator,Template Method

When you are coding and future problem, reusability are in mind then you must consider design Patterns.

Thank you

References:
http://en.wikipedia.org/wiki/Design_Patterns

Popular posts from this blog

Share data between Iframe and its Parent using JQuery

There could be requirement that you have to pass variables values to Iframe from parent or in other scenario you have to pass values from Iframe to its parent.I am going to show simple example of above situation with the help of JQuery.
           Support we have parent HTML page having iframe included like below

<html> <body> <input id="parentValue" type="text" value="I am from Parent !" /> <iframe src="domainurl/relativepath" id="iframe"></iframe> <script> $(document).ready(function() { //code to take value from child iframe var childValue = $("#iframe").contents().find("#childValue").val(); alert(childValue); }); </script> </body> </html> 
        and we have frame code like below
<html> <body> <input id="childValue" type="text" value="I …

Spring Default Limit for Collection and Array is 256

If you are working in Web Application Development then you may stuck or already had ,then you will get mad of getting this error


java.lang.ArrayIndexOutOfBoundsException:Arrayindexoutofrange256
How this error emanates in Spring?

i will explain you with example.Suppose you are adding Values in List in JSP using JSTL tag or other.
This list is in Form(HTML).When you POST this form,In behind Stage,Spring does binding of Object and List if present.

But wait...
In Spring,Default limit for array and collection growing is 256.

Why this limit is Set?

seldom you have to send List size greater than this limit.
Spring has set this limit to avoid notable OutOfMemoryErrors in case of large indexes.

So,than What if i want to set Collection greater than this size?

I had told earlier,spring does binding behind.If we tell spring to increase it's size or set collection size behalf of spring.
You you can do it.

We have initBinder,  in Spring  it is called when spring does the binding mechanism
e.g @Mod…

Apache FOP Tutorial for PDF Generation

What is meant by Apache FOP?

Apache is providing open source JAVA application for PDF(or any other format) file generation from XML data.Simply to can give data in XML,it gives output in PDF or any format.But it is primary for PDF output.

Official explanation,
OP (Formatting Objects Processor) is the world's first print formatter driven by XSL formatting objects (XSL-FO) and the world's first output independent formatter. It is a Java application that reads a formatting object (FO) tree and renders the resulting pages to a specified output. Output formats currently supported include PDF, PCL, PS, SVG, XML (area tree representation), Print, AWT, MIF and TXT

How wcan configure apache fop with our project?

I am going to explain how to generate PDF using Apache FOP.
I will explain it in steps

Step 1:
You will require 3 jar for configurations.Here fop jar depend on both avalon api and avalon impl.
              1.    apache fop 1.1
              2.    avalon-framework-api 4.3.1
    …