Get Instant Help From 5000+ Experts For
question

Writing: Get your essay and assignment written from scratch by PhD expert

Rewriting: Paraphrase or rewrite your friend's essay with similar meaning at reduced cost

Editing:Proofread your work by experts and improve grade at Lowest cost

And Improve Your Grades
myassignmenthelp.com
loader
Phone no. Missing!

Enter phone no. to receive critical updates and urgent messages !

Attach file

Error goes here

Files Missing!

Please upload all relevant files for quick & complete assistance.

Guaranteed Higher Grade!
Free Quote
wave

Discuss about the:-

Development and Management for the E-Business.

Managing Information Systems Strategy and Organization United states.

Creational Patterns

The object oriented system analysis and design uses various practices in order to make easy in development of systems using object oriented programming, however the design patterns represents some practices that are used in the system developers by the object oriented software developers.

The designing patterns are used as the solutions to the various general problems which are encountered by the software developers in the system software developments. The designing pattern however was established through trials and errors by various software developers over a short period of time.

The design pattern however has two major uses in the process of system analysis and designs which includes the following:

  1. Provides common platforms for the developers.

The designs patterns are used since they are able to provide standardized terminologies which are specific to certain scenarios for instance the singleton pattern allows the system developers to use single object and thus the developers who are ok with the pattern uses it together while developing the system.

  1. Allows best practices in system development.

 As a result of evolving of the design patterns over long period they are able to provide overall best solution to various problems which are likely to arise during the software development process and therefore all the software developers requires to learn the various design patterns in order to be able to design system faster and easily.

According to the reference book there are various design patterns which are the main elements of the re-usable object oriented software, the design patterns are then divided into three major categories which includes creational, structural and behavioral patterns.

However among the mostly used patterns is the factory pattern that is adopted in the java system development and is categorized in the creational pattern since it is best in the creation of the system objects, however the creation logics are hidden from the system clients and they are only referred to the system developed through a common interface.

NO

Patterns and descriptions.

1

Creational Patterns:
These are design patterns that provides a way of  creating objects as they hide any of the creations logics, instead of instantiating the objects directly by use of  new operators. This pattern makes the program to be more flexible while deciding the objects to create for certain use case.

2

Structural Patterns:
This type of design pattern mainly concerns the composition of classes and objects, however in this pattern the inheritance concepts are highly used in the interfaces composition and provides means of composing objects to get new types of functionality.

3

Behavioral Patterns:

This is the third type of design pattern which ideally is meant to facilitate the system objects communication and facilitating the flow of information freely in the entire system.

Below is the list of the design patterns in each category:

In the field of software engineering creational design patterns mainly deals with the mechanisms of creating objects that are able to fit well the situations and there are possibility design problems or complexity in the process of creating objects (O’Brien, 2010).

This design pattern is associated with two main ideas which includes the encapsulation of the classes that are used by the system and hiding of the creation and combination of the classes.

This design pattern however has other categories which includes the object creational pattern that deals with the objects creations and class creational pattern that mainly deals with the class instantiation.

Structural Patterns

Therefore this pattern put much emphasis in the creation of objects automatically within codes without direct instantiation of the objects and therefore the functions and methods calls the new objects and one requires only to make some objects modifications.

  1. Abstract factory designer pattern:

This type of pattern is able to encapsulate factories that has common theme using the polymorphism where one interface is used to serve many functions of various types.

  1. Builder designer pattern:

 This is type of pattern that split the constructions of the objects from its representations where a builder object is defined and is mainly used to update objects without any direct interactions with the objects.

  • Factory designer pattern:

This pattern is used to create objects where the exact classes or types of objects to be created are not specified however the instantiations are done through the secondary factory classes and polymorphisms.

  1. Prototype designer pattern:

This pattern type is used in creation of new objects through the prototyping or even by cloning of the prototypical instances of the object , in this case abstract prototype class is created and then using it inherited class get defined.

  1. Singleton designer pattern:

This design pattern is able to offer restriction of the total number of instances of certain class where they execute one at a time. This type of design is applicable where there is need of global accessibility of objects that are needed across the entire system and the changes that could be needed to be identical and with consistency.

The structural patterns deals mainly with the objects and classes compositions through the use of inheritance and the interfaces and thus enabling the objects composition to have new functionality, the interface represents an abstract class or objects without any logical codes but mainly defines the signatures and behaviors of the various classes that implements the interfaces.

Below are the various structural design patterns:

  1. Adapter designer pattern:

This allow the incompatible  interface to be adopted to enable it fit in a new class through the creation of new class-name-adapter class which implement the interface hence allowing the system’s compatibility.

  1. Bridge designer pattern:

This is type of pattern that is able to distinguish between the implementations and abstractions and this is used in the development of websites and visual applications.

  • Composite designer pattern:

This is type of pattern that sees the objects which are in group behaving in a similar manner because they exhibit similar composition.   

  1. Decorator designer pattern:

This pattern changes the class behavior on run time where the object get wrapped using the decorator class and is mainly applicable during objects instantiation and codes execution progress.

  1. Façade designer pattern:

Behavioral Patterns

This is pattern that helps the creation of front end objects that are used in the obfuscating and simplifying the interactions between it and the interfaces that are be hiding it (Robson,2011).

  1. Flyweight designer pattern:

This is design pattern that is mainly used in order to reduce the memory and the resources use while the data is shared with other similar objects.

  • Proxy designer pattern:

This design pattern defines the object’s wrapper class that generally acts as if is the interface for object being wrapped and the base class behaviors are retained.

This type of pattern is mainly concerned with communications and assignments across the system objects.

Below are the various behavioral patterns:

  1. Chain of responsibility designer pattern:

This is used in organizing the system execution to follow a given chain of command where the objects are used in a sequential manner starting from the first to the last.

  1. Command designer pattern:

This pattern mainly is used in decoupling the client’s actions from receiver’s behaviors where the interface is used to do certain action after invocation of certain commands.

  • Interpreter designer pattern:

This pattern is used in definition of class series that are used to interpret syntax of language from the sentences provided.

  1. Iterator designer pattern:

This is used in the allowing the accessibility of the underlying elements of system objects and they don’t expose them at any given time.

  1. Mediator designer pattern:

This is a pattern that usually generates third party objects that acts as mediator controlling the interactions of similar types of objects.

  1. Memento designer pattern:

This pattern is able to store objects states and thus the objects are enabled to roll back to any of the previous state where undo feature is used.

  • Observer designer pattern:

The observer pattern is type of pattern that creates event based dependency among the objects and the observer object is notified of any event (Stair, 2011). 

  • State designer pattern:

This pattern is meant to change the class behaviors depending on the current states that tend to change depending on the executions.

  1. Strategy designer pattern:

This is a pattern that defines the patterns that sees the logical strategy changing depending on the current type of situation and mostly there is use of if-else statements by the objects.

  1. Template designer pattern:

This is type pattern that is good in allowing the skeletal templates to be used in the execution basis without necessarily defining the inner operations of the particular classes or objects.

  1. Visitor designer pattern:

This is type of a pattern that enables the addition of new operations to objects without any modification of the original implementations structure.

Strategy

Among the candidate design pattern the best design pattern is the strategy pattern where while system will be doing the computations the system will be able to be changing depending on the current computation situations where there will be use of if-else statements that will give the outcomes depending on the conditions meet (Smith, 2015).

Benefits of Incorporating Design Patterns in System Development

The compute price use case has various participants who include the following:

  1. System/computer.
  • Items/products.
  1. Shipping staffs.

The incorporation of the design patterns in the system development has two main benefits which includes the following:

  1. Providing common platform for the system operations
  2. Allowing best practices in system designing in order to eliminate any possible system errors.

In the system development there are various security patterns that can be used, however below are the two most appropriate security patterns that can be used.

  • Authentication Enforcerpattern

This is a security pattern that manages and delegates the authentication processes of the system, below are the merits and demerits of this pattern

Merits

  • It has good level of abstraction where the developers can use it without necessarily redefining it.
  • It has completeness nature such that the speciation is correct and complete.
  • It is reusable since it is applicable in various contexts.

Demerits

  • The pattern fails to achieve 100% accuracy.
  • Authorization Enforcerpattern

This is the other security pattern that can be used to manage and delegate the authorizations processes and events, however below are some of the merits and demerits of this pattern( Laudon, 2010).

Merits

  1. It is flexible and is able to change as the execution processes changes.
  2. The pattern can easily integrate with third party security provider.
  • It is agnostic of the designed system underlying frameworks.

Among the candidate design pattern the best design pattern is the chain of command where it will be able to force the executions to follow some chain of commands during execution process where the objects get executed starting from the first to the last, in this case the system will be able to offer free gifts, withdraw gifts and modification of prices in a sequential process (Jawadekar, 2012).

The checkout use case has various participants who include the following:

  1. System/computer
  • Items/products
  1. Gifts
  2. Receipts

Below is the new modified class diagram

The incorporation of the design patterns in the system development has two main benefits which includes the following:

  1. Providing common platform for the system operations
  2. Allowing best practices in system designing in order to eliminate any possible system errors.

In the system development there are various security patterns that can be used, however below are the two most appropriate security patterns that can be used.

  • Authentication Enforcerpattern

This is a security pattern that manages and delegates the authentication processes of the system, below are the merits and demerits of this pattern (Erich et al,1995).

Merits

  • It has good level of abstraction where the developers can use it without necessarily redefining it.
  • It has completeness nature such that the speciation is correct and complete.
  • It is reusable since it is applicable in various contexts.

Demerits

  • The pattern fails to achieve 100% accuracy.
  • Authorization Enforcerpattern

This is the other security pattern that can be used to manage and delegate the authorizations processes and events, however below are some of the merits and demerits of this pattern (Hickie, 2013).

Merits

  1. It is flexible and is able to change as the execution processes changes.
  2. The pattern can easily integrate with third party security provider.
  3. It is agnostic of the designed system underlying frameworks.

Demerits

  • There is requirement of extra hardware integrations.
  • It is challenging to do the resetting in case the pattern gets compromised.

Reference

Erich, G, Richard, H, Ralph, J, John, V.(1995). Design Patterns : Elements of Reusable Object

Oriented Software, Boston:Addison Wesley.

Jawadekar, W.(2012). Management Information System,New York:McGraw-Hill

Smith, B.(2015). Object-Oriented Programming. Advanced ActionScript 3, New York :Apress.

O’Brien, A.(2010).Management Information Systems,U.S.A:McGraw-Hill Education

Hickie, S.(2013).Business Information Systems: Technology, Development and Management for

the E-Business, United states: Prentice Hall.

Kennedy, G.(2013). Managing Information Systems: Strategy and Organization, United states:

Prentice Hall.

Laudon, P.(2010). Management Information Systems: Managing the Digital Firm, United states:

Prentice Hall.

Stair, R. (2011).Principles of Information Systems: A Managerial Approach, New York: Delmar

Cengage Learning.

Robson, W. (2011). Strategic Management and Information Systems: An Integrated Approach,

UK: Financial Times

Design pattern types

Design problem 1compute price

Cite This Work

To export a reference to this article please select a referencing stye below:

My Assignment Help. (2019). Design Patterns For Object Oriented Software Development. Retrieved from https://myassignmenthelp.com/free-samples/mits4004-object-oriented-system-analysis-and-design.

"Design Patterns For Object Oriented Software Development." My Assignment Help, 2019, https://myassignmenthelp.com/free-samples/mits4004-object-oriented-system-analysis-and-design.

My Assignment Help (2019) Design Patterns For Object Oriented Software Development [Online]. Available from: https://myassignmenthelp.com/free-samples/mits4004-object-oriented-system-analysis-and-design
[Accessed 15 November 2024].

My Assignment Help. 'Design Patterns For Object Oriented Software Development' (My Assignment Help, 2019) <https://myassignmenthelp.com/free-samples/mits4004-object-oriented-system-analysis-and-design> accessed 15 November 2024.

My Assignment Help. Design Patterns For Object Oriented Software Development [Internet]. My Assignment Help. 2019 [cited 15 November 2024]. Available from: https://myassignmenthelp.com/free-samples/mits4004-object-oriented-system-analysis-and-design.

Get instant help from 5000+ experts for
question

Writing: Get your essay and assignment written from scratch by PhD expert

Rewriting: Paraphrase or rewrite your friend's essay with similar meaning at reduced cost

Editing: Proofread your work by experts and improve grade at Lowest cost

loader
250 words
Phone no. Missing!

Enter phone no. to receive critical updates and urgent messages !

Attach file

Error goes here

Files Missing!

Please upload all relevant files for quick & complete assistance.

Plagiarism checker
Verify originality of an essay
essay
Generate unique essays in a jiffy
Plagiarism checker
Cite sources with ease
support
close