The structural design pattern solves the coupling problem between the modules from the structure of the program. The following seven modes are included:
Adapter mode: An excuse for the class can be matched to another interface
Combination mode: The combination of objects
Proxy mode: A Simple object instead of a complex object that will be called later
Appearance Mode: A class represents a subsystem
Enjoy meta mode: used to
or after forwarding these requests. This ensures that additional functionality can be added externally without modifying the structure of a given object at run time. In object-oriented design, the extension of functionality to a given class is usually achieved through inheritance.Application Scenarios for Adorner mode:1, need to extend the functionality of a class.2, dynamic for an object to add functionality, but also can be dynamically revoked. (In
. the difference between equals and = = Earlier we saw that both the Clone object and the equals and = = of the original object return false, whether it is a shallow copy or a deep copy. So what is the relationship between equals and = =? For basic data types, = = compares their values. For non-primitive types of objects, = = comparison is their address in memory, such as the previous oldobject and newobject the same address, while the Equals method, if it does not overwrite the quilt class, it
is the new Pegadapter, called Two-way adapter:1 Public classPegadapterImplementsiroundpeg,isquarepeg{2 3 Privateroundpeg roundpeg;4 Privatesquarepeg squarepeg;5 6 //Construction Method7 PublicPegadapter (Roundpeg peg) { This. roundpeg=peg;}8 //Construction Method9 PublicPegadapter (Squarepeg Peg) ( This. squarepeg=peg;)Ten One Public voidInsert (String str) {roundpeg.insertintohole (str);} A -} There is also a kind of called pluggable adapters, can dynamically
Java and design patterns-template patterns
The template mode can be understood as the step mode, and the steps can be clearly followed when you add the template mode. The concept of a template should be very familiar to many people. Write a resume and a thesis. If there is a template for our reference, it will be easie
.run(); }}The operation requires interaction, first of all, the requirement to enter the H1 model of the Hummer if there is a sound, as follows:-------H1型号悍马-------- H1型号的悍马是否需要喇叭声响?0-不需要 1-需要输入“0”后的运行结果如下所示:-------H1型号悍马-------- H1型号的悍马是否需要喇叭声响?0-不需要 1-需要0悍马H1发动... 悍马H1引擎声音是这样的... 悍马H1停车...-------H2型号悍马-------- 悍马H2发动... 悍马H2引擎声音是这样的... 悍马H2停车...The results of the operation after entering "1" are as follows:-------H1型号悍马-------- H1型号的悍马是否需要喇叭声响?0-不需要 1-需要 1悍马H1发动...悍马H1引擎声音是这样的...悍马H1鸣笛..
of the current object */
Bytearrayoutputstream BOS = new Bytearrayoutputstream ();
ObjectOutputStream oos = new ObjectOutputStream (BOS);
Oos.writeobject (this);
/* read out the new object generated by the binary stream */
Bytearrayinputstream bis = new Bytearrayinputstream (Bos.tobytearray ());
ObjectInputStream ois = new ObjectInputStream (bis);
return Ois.readobject ();
}
Public String getString () {
return string;
}
public void SetString (string string) {
= 100.0f; Private floatdiameter = 10.0f; /*** Growth behavior, each call length and radius increase by one times*/ Public voidgrow () { This. diameter *= 2; This. Height *= 2; } /*** Reduce the behavior by half the length and radius of each call*/ Public voidshrink () { This. diameter/= 2; This. Height/= 2; }}View CodeClient class: Packageprototype;Importjava.util.Date; Public classClient {PrivateMonkey Monkey =NewMonkey (NewDate (),NewGoldringedstaff ()); Public voidChange () {//
parametric construct, generates an object A through the new keyword, and then produces a new object T by A.clone (), then the constructor is not used when the object is copied. Be executed. That is, only one construction method is executed during the copy process.Clone vs final two pair of enemies. The object's clone is caused by a conflict with the final property within the object. In the programmer class above, modify to private final address address; Remove Get,set method, proto.address= (Ad
Java classic 23 design patterns: behavioral patterns (4)
This article describes the policy mode, template method, and visitor mode in 11 behavioral design patterns.I. Policy Mode
Define a series of algorithms, encapsulate each of them, and make them replaceable. This mode al
Common Java design patterns-adapter patterns
The Adapter mode is introduced to solve the incompatibility mismatch problem.
Definition:
The adapter mode converts the excuse of a class into another interface that the customer expects, so that the classes that originally cannot work together due to interface incompatibili
implementation is just a common Java class, as long as the basic needs of the singleton, you can do in the arbitrary implementation of some other functions, but static class does not. From the above summary, the basic can see the difference between the two, but, on the other hand, we finally realized that the singleton pattern, the interior is a static class to achieve, so, the two have a great correlation, but we consider the level of the problem is
(); Ocar.excet (); }}Template method Pattern Applicable scenario
One-time implementation of an invariant part of the algorithm, and the variable behavior is left to subclass to achieve.
The public behavior in each subclass should be extracted and centralized into a common parent class to avoid code duplication. This is a good example of what Opdyke and Johnson described as "re-factoring to generalize." First identify the differences in the existing code and separate the differen
, filterinputstream,filteroutputstream
Concretedecorate Specific Decorative roles: responsible for adding new responsibilities to component objects, Bufferedinputstream,bufferedoutputstream, etc.
Advantages
Extended object functionality is more flexible than inheritance and does not result in a dramatic increase in the number of classes.
You can decorate an object multiple times, creating a combination of different behaviors and getting more powerful objects.
The concre
Chapter 1 of design patterns-Abstract Factory patterns (Java implementation)"The last time was my fault. The author of bribery asked me to talk about it first. However, my wife and adults have a lot to do with me, this time, let me add the application scenarios that have not been completed last time." (After that, I to
Chapter 1 of design patterns-factory method patterns (Java implementation)"I come first", "No, husband, I come first !". I heard a few people from far away. Oh no, it's the factory method model and the abstract factory model. The couple are quarreling. nimei is not eating, not all come first (the world of food ~). "Abs
Structure mode, a total of seven kinds: Adapter mode, adorner mode, proxy mode, appearance mode, bridging mode, combined mode, enjoy the meta-mode.First, the adapter mode:The adapter pattern transforms the interface of a class into another interface that the client expects, in order to eliminate compatibility issues with classes caused by mismatched interfaces. There are three main categories: The adapter mode of the class, the adapter mode of the object, and the adapter mode of the interface. F
As the name implies, multiple cases are compared to a singleton pattern, which can have more than one finite instance, such as the following, can only have two instances.Import java.util.ArrayList;Import Java.util.Random;Class Multition{Private final static int max_number=2;private static arraylistprivate static int index=0;Private String Currentmultitioninfo;Static{for (int i=0;i{Index=i;Amultitionarraylist.add (New Multition ());}}Private Multition (){Currentmultitioninfo= "The current object
Create bean Factory all useFactory methodFor the production of fixed products in the same grade structure support to increase any productAbstract FactoryAll products for the production of different product familiesAbstract product family can be added to the inability of the productPrototype mode (copy, clone)You need to implement the Cloneable interface using the Clone () method to copy a close () method such as a file streamCreating an object with new requires very tedious data preparation or
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.