Q.) You have learned t about SoftwareDesign Patterns in the lectures. Here you a
ID: 3611901 • Letter: Q
Question
Q.) You have learned t about SoftwareDesign Patterns in the lectures. Here you are given a researchpaper. You are required to read it thoroughly and submit it’sSummary in 1 page covering all the aspects discussed in thepaper.
Note: - Write the summary after carefully reading thePaper each and every aspect discussed in the paper should becovered in the summary otherwise marks will bededucted.
Now download the paper by clicking on the followingaddress:-
You can also download it from VU ContentLibrary.
http://vulms.vu.edu.pk/Library/library.aspx
Explanation / Answer
Following are the few problems:
Singleton: The manner in which the Java Virtual machine managesclass loading makes the implementation of a single-instance classproblematic.
Abstract Factory: A framework must usually be both upgradeableand customizable, but these properties make it hard for AbstractFactory to provide the flexibility it should. Facade: The tightcoupling that is implicit in this pattern can lead to complexproblems of source code contention.
Here are some limitations of design patterns.
The development language can play a major role in the details ofthe implementation of a design pattern. In many cases theimplementation language has no impact on the design pattern beingused, but there are key places where technical limitations of thelanguage limit the applicability of certain design patterns.
The widespread adoption of design patterns for software designalso spawned a series of critiques of design patterns which attemptto document the negative aspects of design patterns.
The process of developing software involves people; largeprojects can involve hundreds of people. How and when these peopleinteract have a key influence on the software that will beproduced.
Striking a balance between financial and technical pressures isone of the key features of successful commercial software projects.This balance changes over the lifetime of a project, as the market,and the product's place in the market, evolve. A failure to getthis balance right can clearly be disastrous for both the projectand the company involved.
Design pattern implementation issues:
Singleton: The Singleton pattern is applicable when there shouldbe only a single, globally-accessible instance of a class. Thispattern is used much in industrial software because, it is one ofthe easiest patterns and in some cases, applying it to systems canlead to performance gains.
There are some fundamental problems with the implementation ofthe Singleton pattern in Java. The Singleton pattern relies on itbeing possible to code a class so that only one instance of thatclass can exist in the system. With certain Java Virtual Machines(JVMs), those that support multiple class loaders, this is nolonger guaranteed and hence the Singleton pattern will no longeroperate as the developer intended.
Singleton/JVM problem leads to some consequences like locking,over writing and dead lock.
There are two approaches that may be taken to manage thisproblem: Avoid using the Singleton pattern and Make the Singletontolerant of multiple instances.
Abstract Factory
The Abstract Factory pattern [10] enables a developer to deferthe decision regarding which family of concrete classes is to beused. Abstract Factory pattern is not as straightforward as itinitially appears.
Façade:
The Facade pattern is used to define a higher-level interface toa subsystem that makes the subsystem easier to use. This pattern isvery useful where subsystems provide collections of relatedfeatures that can be grouped together and presented in a unifiedway using a Facade class.
Facade and Tight Coupling: The Facade pattern tends to generateclasses that are tightly coupled to a large number of other classesin the system. There are other factors associated with the tightcoupling that results from the use of Facade, namely thedeleterious effect on build time and the problem of contention oversource artifacts.
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.