Introduction to Design Patterns:Design patterns represent best practices and are often used by experienced object-oriented software developers. Design pattern is a solution to the general problems faced by software developers in the process of software development. These solutions are summed up by many software developers over a long period of trial and error.Des
Design the samples in Java.
Build Status:
Introduction
Design patterns are formalized best practices and programmer can use to solve common problems when designing a appli cation or system.
Design patterns can speed up the devel
patterns and code, although they are different, but work together to make people's design can be reused, There are some characteristics of unity in ideology, so the thought of design pattern can be applied in frame design.There are significant differences between frameworks and design
data type and string type into the dual pipeline of this link, to write structured data to a disk file, as shown in:
This is the major role of the link.
The stream processing process by the stream processor must all have streams. If the streams processed by the stream class are classified, they can be basically divided into two categories:
The first array, String, file, etc. This is called the original struct.
Second, a stream of the same type is used as a link stream class, called a link pi
this class in the class (the final keyword, etc. have learned, is the ultimate meaning, hehe)Private Finla Static single =new single ();Provides a public access method that can be obtained to the class objectpublic static single getinstance () {return single;}The lazy type of the single case design patternobject is initialized when the method is called, or deferred loading of the objectSingle class into memory, the object does not exist, only the obj
pool overflow, if the instantiated object is not exploited for a long time,The system is considered garbage and is recycled by GC resulting in loss of object state Lazy mode: A Hungry man mode:Dual Lock mode: Summarize: 1, lazy mode features: Thread insecure, load classes faster, run time to get objects slower,2, a Hungry man mode features: Thread safety, load class is slow, run time to get objects faster3, double lock mode: Thread-safe, load class faster, run-time to get objects at
Opening and closing principle OCP (Open for extension,closed for modification). The core idea of open and close principle is that an object is opened to expansion and closed to modification.
In fact, the opening and closing principle means that changes to the class are made by adding code rather than altering the existing code. In other words, once the software developer writes out the code that can be run, it should not change it, but to ensure that it can continue to run, how to do this? Th
}Singletonlazy The object is not created immediately after it is loaded into the method area, it is not created until the GetInstance method is called. This way can save memory space, but there is also a thread security problem, when thread a execution to the judgment object is null, when thread B gets execution, thread B determines that the object is null, then thread a regain execution, create the object, thread B resumes, continue to create the object. Modify the code as follows, using a sync
Java Singleton design pattern, there are many ways to implement, the following describes some of the more famous implementation methods
A Hungry man typeThis design pattern is simple, and there is no multi-threading security problem, which is generally used in practical development.
Class Hungerydemo{private Hungerydemo () {}private static final Hun
: Interface high cohesion is internally highly dependent and isolated as much as possible. That is, the method of internal declaration of an interface is related to a sub-module, and is required by this submodule.
Interface design is limited: If you fully follow the principle of interface separation, there will be a problem, that is, the design of the interface will be less and less, so that the number
the Showflight class into the Plotpanel class and use the function object instead to get the x and Y values. Defines the number of points required for a Plotpanel constructor to receive two function instances and drawings.
Class diagram Design,The Main method is still written in Showflight, but we name it ShowFlight2. The function class is used to obtain the corresponding x and Y coordinate values. However, because the specific x and Y are a val
Design pattern (Patterns)
--the foundation of reusable object-oriented software
Design patterns are a set of repeated use, most people know, through the classification of purpose, code design experience Summary. Design
With the basics of many of the previous design patterns, here you can propose a more specific pattern of MVC. MVC is not part of Gof's 23 design patterns, but it was presented as an important example in Gof's book and was highly rated. Generally speaking, we think that the 2
extensible and does not make it easy to add and remove new controls.It is now refactored using Dimitri.
In this example, you can reduce the coupling between interface controls by introducing an intermediate class (mediator) that is designed to control the interaction of interface controls. After the intermediate class is introduced, the direct reference is no longer occurring between the interface controls, but instead the request is forwarded to the Intermediate class and the interm
appears some problem solution. However, we generally refer to the design pattern, usually refers to the Gof classic book, "Designing Pattern--elements of the reusable object-oriented Software," the 23 patterns, thus, It is the specific needle for object-oriented software design process.
In the overall sense, the patt
Since the advent of Java-EE, it has greatly simplified the enterprise-level development under the java-based. But as Java EE becomes more and more widely used in various fields, developers are becoming aware of the need for a way to standardize the application's development process by standardizing the architectural layers of the application. The structure layer
.
Template method Mode
Defines the skeleton of an algorithm in an operation, and delays some steps into subclasses. Templatemethod allows subclasses to redefine some specific steps of the algorithm without altering the structure of an algorithm.
Visitor mode
Represents an operation that acts on each element in an object structure. It allows you to define new actions that act on these elements without changing the class of each element.
If many
dependencies and reducing coupling.
Dimitri Law (Demeter principle): An entity interacts with other entities as little as possible, making the system function modules relatively independent.
Synthetic multiplexing principle (composite reuse principle): Use composition/aggregation as much as possible, rather than using inheritance.
The focus of design pattern interpretationThis topic talk about design
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.