Vous êtes sur la page 1sur 3

Role of good Design patterns in developing an application

Shikha Nirankari

Keywords :-Design Pattern, Database layer, Middle Layer, Front End Layer

Summary: Following a Design Pattern in application development is not only limited to first
layer but is required in all the 3 layers of the application. Being in IT industry our experience is
that sometimes due to short time limits for developing an application and sometimes due to lack
of experience we generally focus on fulfilling user requirement and side line issues related to
good performance, easy enhancement and maintenance of application. It is much wiser to spend
more time towards design pattern in each layer on initial stages in creating a nice clean good
quality product. This paper presents few practices which we can follow to develop a high end
product.

Introduction: Design Pattern is a way of designing/creating an application .Majorly there


are 3 layers in an application development that are database layer (RDBMS + File System),
middle layer (middleware workflows) and front end layer (logic + designing). Each layer
contributes for making a highly flexible application. If we start making a habit of following good
designs at each level of the development then only we can provide a product which will be good
in all aspects. Like while doing any purchasing we generally consider our requirements, budget,
quality in the same way we have to focus on the quality of the application which can be achieved
only if we give importance to design at each layer.

Database layer (RDBMS + File System.).

A good Database Design leads to high performance and easy maintenance of a Database whereas
with a poor Design there may arise many situations in which we later on find that the problem
cannot be solved by changing the code and then we need to change the database design which
becomes a high cost solution.

The database layer includes RDBMS as well as File System so during logical design of
database it is better to decide which data should be stored in File Systems and which in database.
For example if we are having a lot of images in our application then although the provision of
saving images is there in the database but it makes our database very bulky and It takes a lot of
time to load the data if we have thousands of records to display as a report, so it is a better
decision to make use of file system for saving images with proper naming convention and pick
them from there through an id. All applications give very good performance results in the starting
but as soon as the data increases performance become a major issue. While designing queries we
should choose the best execution plan which uses minimum of the resources like computation
cost, memory usage, storage cost, communication cost and produces high speed output. The
major points which should be considered while designing a Database that Up to what extent we
should use normalization and where can we make use of indexes and table partitioning to
increase performance. By following these practices at this layer we can avoid unnecessary load
on the database server and can utilize it in best possible way..

Middle Layer (Middleware Workflows): Middle ware is the layer which is most commonly
required when business process management is involved. It is a layer which communicates with
both database as well as front layer. The layer has involvement of tables, procedures, scripts etc
which should also be handled with the good performance management tips. While designing it,
workflow diagram , its functions, procedures should be neat , clean and have proper description
along with the user-friendly as well as meaning full naming convention. Lines should be straight.
We should make the workflow as compact as possible by avoiding repetition. If the flow
requirement is very big, then it will better to split into more workflows rather than making a
single large diagram which is very difficult to read or cant even seen in a single screen. We
should make separate message, notification control which depends on the number of roles
involved rather than using same message control for multiple roles if they have same text
initially as in the future if the requirement comes to modify the text of any user sharing the same
control, then the workflow designer have to do updating at many stages in the workflow,
otherwise the modified text will get reflected everywhere.

Front end layer (logic + designing): Front end layer is responsible for presenting the features of
an application in a good design. Designing is the blue print for creating an application. This layer
decides the look of our application which is an important issue to attract users of our application
but this designing should not be at the cost of slow access of application. Sometimes we add lots
of animations ,videos and controls to our application to make it attractive but then page becomes
heavy and it takes a lot of time to load it .Thumb rule in the front layer is to keep a page as as
light as possible. And make it attractive by Using CSS, web safe colors and User Friendly text
messages. The designing of an application should be generic which comply with maximum
standards and should be compatible with different sizes of screens, much used web browsers,
phones, a wide range of resolutions. Logic on the front layer also have major importance, we
should make use of good algorithms while writing the logics which result in better performance
as well make less usage of variables. for example if we have a control say dropdown list which
display categories like (sc, st, gen etc) and we are using this control in many pages of the
application then it is better to retrieve such values from a single file rather hard coding it on
multiple pages. Usage of ajax, jquery tools should be followed which will reduce the lines as
well as complexity of code. We should use user friendly variable names as well as controls
names, and add comments at the appropriate places so that it will be easier for other person to
understand it. We should make use of xml configuration files of any technology for the common
general settings of the application for example for connection, we can write the code in xml
configuration file rather than writing in the class file which implements write once use many
times approach. OOPS concepts such as inheritance, overloading, overriding and shadowing
should be used to develop a high performance application.

An application should be designed in such a way that besides reducing the workload of end users
by automating their task it also reduces the work of developers who maintain and enhance an
application. And by following good practices we can make an application live and useful for a
longer period of time.

Vous aimerez peut-être aussi