Register   Login   About   Study   Enterprise   Share
Internet / AI Technology University (ITU/AITU)
Fast Login - available after registration







|

Top Links: >> 80. Technology >> Internet Technology Summit Program >> 1. Java Introduction >> 1.3. Critical Thinking and Software Development Process >> 1.3.2. SDLC-SOA-AOP
Current Topic: 1.3.2.4. Design Patterns
You have a privilege to create a quiz (QnA) related to this subject and obtain creativity score...
Design Patterns

We mentioned design patterns before. Once more: What is a design pattern?

A known solution for a common problem.
Design patterns give us a system of names and ideas for common problems.

• What are the major description parts?
• Design Patterns consist of the following parts:

• - Problem Statement
• - Solution
• - Impact (Side Effects)
-------------------------------------------------------

There are different types and levels of design patterns.
For example, the Model-View-Controller (MVC) is the architectural level of design pattern.
Most design patterns are component level design patterns.
• The basic types are Behavior, Creational, Structural, and System design patterns.
• More types: Enterprise and SOA Design Patterns

Names are extremely important in design patterns; they should be clear and descriptive.

Christopher Alexander – construction architect – invented the main principles and published the first book on Design Patterns.
One of the first books in the software world was: "Design Patterns: Elements of Reusable Object-Oriented Software" by Erich Gamma, Richard Helm, Ralph
Johnson, John Vlissides (often called the Gang of Four or GOF – Book :-)
Among other good books: Integration-Ready Architecture and Design.

Here are several examples of Design Patterns:
Name: Service-Oriented Architecture (Approach to software architecture)
Problem: Application development or even modification require longer and longer projects.
Why: Growing applications become more complex and rigid; too firm and inflexible in spite of the name – Software
Solution: Develop applications as a set of connected standard-based reusable services to minimize duplications and maintenance.
Was it clear so far?

Impact: Extra time and efforts needed to learn and follow best practices and standards and to govern the development process.

Periodically re-visit and align technical and business architecture, carefully consider and govern creating new applications to avoid duplications and minimize maintenance.
Impact: Extra funding, time and efforts are needed for governance, while planning to retire some applications, modify and integrate others.
Name: Business-Driven Architecture (Architecture Level)
Problem: How can technology be designed to remain in alignment with changing business goals and requirements?
Solution: Business and architecture analysis is conducted as collaborative efforts on a regular basis.
Impact: To keep technology in alignment with the business that is changing over time, it will require a commitment in time and cost to govern the development process.

Name: MVC (Architecture Level)
Problem: – Complex object involves user interface and data. Need to
simplify structure
Solution: Data in one part (Model), user View in another part (View), interaction logic in a third part (Controller)
– Model maintains state. Notifies view of changes in state.
– Controller uses state information (in Model?) and user request to determine how to handle request, tells view what to display
– View must correctly display the state of the Model
Impact: Requires separate engineering of the three parts and communication between them through interfaces

Name: Factory Method (Component Level – Creational Type)
Problem: Need to create a family of similar but different type objects, where objects are used in standard ways.
Solution: Creator class has a "getter" method which instantiate the correct subclass, for example, ConcreteProduct. Subclass is used through generic interface, for example, Product Factory.
Impact: Extra time for analysis and modeling upfront required.


Assignments:
1. Read more on Design Patterns: http://ITUniversity.us/school/public/training/SOADesignPatterns.pdf
2. Create 2 QnA related to the Design Pattern section, each with the following format where the first answer is correct and two other answers are wrong.
Question:
Answer:
Answer:
Answer:
3. Email the QnAs to dean@ituniversity.us
| Check Your Progress | Propose QnA | Have a question or comments for open discussion?

Have a suggestion? - shoot an email
Looking for something special? - Talk to me
Read: IT of the future: AI and Semantic Cloud Architecture | Fixing Education
Do you want to move from theory to practice and become a magician? Learn and work with us at Internet Technology University (ITU) - JavaSchool.com.

Technology that we offer and How this works: English | Spanish | Russian | French

Internet Technology University | JavaSchool.com | Copyrights © Since 1997 | All Rights Reserved
Patents: US10956676, US7032006, US7774751, US7966093, US8051026, US8863234
Including conversational semantic decision support systems (CSDS) and bringing us closer to The message from 2040
Privacy Policy