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 different. The combination of two ideas to c
I. Description of the pattern
There are a series of objects in my program, like we're going to have a bowl of rice, a cup of coffee (Coffee) ..., to take advantage of them, we have to generate them in the program according to the user's requirements, and then call the new operator one at a, This way the client will know the corresponding class information, the generated code is obviously not flexible. So we can not use the specific classes in the code, but just to show what we need, and then we
Design Patterns-understanding of appearance patterns
Appearance mode: provides a consistent interface for a group of interfaces in the subsystem. This mode defines a high-level interface, making the subsystem easier to use.
In the data room charging system, the appearance mode is used to remove the coupling between the U layer and the B layer. According to the pr
together, a D A p T e r mode a D A p T e r is usually used after the system design is complete, and b R i d g e mode You must know beforehand that an abstraction will have more than one implementation part, so is used Therefore, it can be seen from the above description that the use of a bridge or The completed code for the adapter pattern can be viewed as a bridging mode from different viewing angles, or as an adapter mode. 6. Combination Mo
. 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
void Decrator (person component) {this.component = component; public override void Show () {if (component!=null) {component. Show (); }}}///base. Show ();}} class Jonson:finery {public override void Show () {Console.WriteLine ("Jeans"); Base. Show (); }} class Shose:finery {public override void Show () {Console.WriteLine ("Bull Shoes"); Base. Show (); } }}* Each functional layer is loaded together, then the inner function is called by the topmost instance
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
observers, that is, dependent objects, each time data changes, these 2 view will changeclassHexviewer (object):defUpdate (self, subject):Print 'hexviewer:subject%s has data 0x%x'%(Subject.name, Subject.data)classDecimalviewer (object):defUpdate (self, subject):Print 'decimalviewer:subject%s has data%d'%(Subject.name, Subject.data)if __name__=='__main__': Data1= Data ('Data 1') Data2= Data ('Data 2') View1=decimalviewer () view2=hexviewer () Data1.attach (view1) Data1.attach (view2) Data2.attach
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 allows algorithms to change independently of cu
Java implementation of structural design patterns-appearance patterns
I. Description
The appearance mode is also called the facade mode, which is to package a complex system. The external interfaces of the system are provided by the appearance class. When a complex system needs to provide external interfaces, it needs to encapsulate the interfaces provided extern
20170312: The reason for learning is that companies use Sprint.net, managed methods, prevent multiple instances of classes, waste space. NET Design Patterns:NET design Pattern Example Singleton pattern (Singleton pattern)One: Introduction to the Singleton mode: (Brief Introduction)Singleton mode (Singleton pattern), which guarantees that a class has only one instance, and provides a global access point to a
I. Introduction to the Model
Appearance patterns (façade pattern) can wrap a series of complex classes into a simple, closed interface. Also called the façade mode.
Second, the mode of intent
Each design pattern has its purpose, and we look at how the design patterns of the patriarch say it. According to Gof, the fa
Simple Design Mode
Introduction
Gof (Gang of Four, which refers to Erich Gamma, Richard Helm, Ralph Johnson John vlissides)'s design patterns (published in 1995) this is the first time that we have elevated the design pattern to a theoretical level and standardized it. This book proposes 23 basic
):def __init__(self): Self.name='Processserver'self.state=state.newdefboot (self):Print('booting the {}'. Format ( self) self.state=state.runningdefKill (Self, restart=True):Print('killing {}'. Format ( self) self.state= Stae.restartifRestartElseState.zobmiedefcreate_process (self, user, name):Print("trying to create process ' {} ' for user ' {} '". Format (name, user)classWindowsServer:PassclassNetworkserver:PassclassOperatingSystem:def __init__(self): Self.fs=fileserver () self.ps=Processserve
(String Person: This. Getfriends ()) {List.add (person); } //frend.setfriends (list); returnfrend; } Catch(clonenotsupportedexception e) {e.printstacktrace (); return NULL; } }} PackageChenyang;Importjava.util.ArrayList;Importjava.util.List;/*** Text of the test class * *@author65245 **/ Public classText { Public Static voidMain (string[] args) {//1. Create a direct assignment to the collectionPerson person =NewPerson (); ListNewArraylist(); List.add ("Hello"); List.add
The factory class pattern provides the pattern of creating a single class, while the builder pattern is to centralize the various products to manage, to create composite objects, so-called composite objects that refer to a class that has different properties, in fact the builder pattern is the combination of the previous abstract factory pattern and the last Test. Let's look at the code:As before, a sender interface, two implementation classes MailSender and Smssender. Finally, the Builder class
This article and the author of the original text has a certain deviation, which added a part of the personal view, please check the author's original text. ***
Original Connection Http://www.dofactory.com/Patterns/PatternCommand.aspx
Command mode intent:
GOF in the Book of Design Patterns: "Encapsulate a request as an object so that you can parameterize the cl
Chapter 9 of the introduction to PHP design patterns Chapter 9 observation patterns some object-oriented programming methods provide a capability to build complex network interconnection between objects. When objects are connected together, they can provide services and information to each other. Generally, when the status of an object changes, you still need to
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.