Design Patterns-factory patterns
1. Abstract base class inheritance is used to construct the entire system based on the subordination between the abstract base class and the abstract base class to achieve a relatively clear class hierarchy.
2. Maintain scalability and minimum maintenance costs for the entire system.
Have I made it clear? Above code, ^ _ ^.
Design Patterns-abstractfactory patterns
1. Replace the abstract base class in the factory mode with the interface class. The difference is that the abstract base class cannot be instantiated, while the interface class can.
For example, replacing a car with a 4S shop,
Class car 4s stores{Public:Automobile 4S stores ();Vitrual ~ Automobile 4S stores ();
Virtual ti
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
implementation is packaged into a class, if there are many alternative strategies, then the number of these classes is very large.To recognize a policy pattern from a code perspective:(Zhao Yun with three tricks to solve the problem, there are three elements in this scene: Three ingenious tricks, one capsule, one Zhao Yun)1. First create a policy interface (contains an algorithm that can be executed by each of the tips)2. Then write three implementation classes, because there are three clever t
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) {
, 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
observer;/** * Specific observer classes, such as LV Zeng in the example, Zhang Wei is an example of the Observer * @author WL * */public class Concretewatcher implements watcher { String Watcheredname; String Name;public concretewatcher (String name,string watcheredname) {this.name=name;this.watcheredname= Watcheredname;} @Overridepublic void Updata (String str) {System.out.println (name+ "Heart secretly happy" Hey!!! The opportunity came, my "+watcheredname+" said she ' "+str+" ' "");}Package
);/** * update Price */ Food.setprice (1.5f);}}third, the application scenarioGUI frame, meteorological observation, etc.Iv. SummaryBe sure to call the Setchanged () method before notifying all observers to set the state of the observer to be changed so that notifyobservers () will not be updated with the Observer Update method. If there are different opinions or omissions in the above content, please give us some valuable suggestions or comments.Finally, you can try to use the following UML mod
();
}
}
}
public class Mysubject extends Abstractsubject {
@Override
public void operation () {
System.out.println ("Update self!");
Notifyobservers ();
}
}
Test class:
public class Observertest {
public static void Main (string[] args) {
Subject sub = new Mysubject ();
Sub.add (New Observer1 ());
Sub.add (New Observer2 ());
Sub.operation ();
}
}
Output:Update self!Observer1 has rece
There are many similarities between structural patterns because there are several relationships in the object model structure: inheritance and implementation between classes, plus object combinations, which are the main purposes of the PHP design pattern.
The greatest advantage of the combination of objects is that you can build a relationship based on configuration at run time without modifying the actual
Design Patterns notes-Abstract Factory patterns
Abstract:Design Pattern learning-abstract factory patternThis paper introduces the basic concepts of the abstract factory model and provides the C # Programming LanguageProgramExample
Abstract Factory mode provides an interface to the client, so that the client creates objects in multiple product families withou
1. Adapter mode1) Class of Adapter mode 2) The adapter mode of the object 3) adapter mode for the interfaceThe adapter for the interface is this: sometimes we write an interface with multiple abstract methods, and when we write the implementation class of the interfaces, we must implement all the methods of the interface, which is obviously sometimes wasteful, because not all methods are needed, sometimes only some, here in order to solve this problem, We introduced an interface adapter patte
(); Stockquotation.setvalue (2090.9);}}We found that the main class calledBillboard.deletethisdisplay ();Then the bulletin board Billboard was no longer an observer, and all it could not receive was any stock market.This simple code implements the Observer pattern.We can find out. When a new type of observer appears. The code for the theme does not need to be changed.The subject does not care about anything else, just sends a notification to all objects that implement the Observer interface.The
of the Object.defineproperties or Object.defineproperty method type. It allows you to set properties such as enumerable, writable, or configurable. If you want to implement prototype mode yourself, instead of using object.create directly. You can use code like the following to achieve the above example:varVehicleprototype ={init:function(Carmodel) { This. Model =Carmodel; }, Getmodel:function() {Console.log (' Vehicle mould is: ' + This. Model); }};functionVehicle (model) {functionF () {}; F.pr
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 easier to write and more handy. This resume templa
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 incompatibility can work together.
Category:
1. Combinati
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 touched my knees and coughed. I didn't smile! R
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 ~). "Abstract Factory model, fast self-introduction,
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.