Iterator pattern definitionIterator mode (Iterator), which provides a way to sequentially access various elements in an aggregated object without exposing the object's internal representation.Role composition of the iterator pattern(1) Iterator Role (Iterator): Defines the methods required to traverse elements, generally there are three ways to get the next element in the next (), to determine whether to tr
The adorner pattern can dynamically add capabilities to existing objects. Next, I'll use a simple example to illustrate how to use the decorator pattern in a program.
1. Decorator Mode
Let's assume that you're looking for a girlfriend. There are a lot of girls from different countries, such as: The United States, China, Japan, France and so on, each of them have a unique personality and hobbies, if you ne
) {One single = new single (); }13 re Turn single;14 }15}Below we explain that lazy thread is unsafe, usually we recommend writing a hungry man, because it is thread-safe.When multi-threaded access to lazy-type, because of the lazy way of the common data in the operation of multiple statements.Two threads, line Cheng and line Cheng call the GetInstance method at the same time, when thread 1 executes the If judgment, single is empty, there is no time to execute a s
Template Method pattern of software design pattern (JAVA)Everyone is familiar with it. There is a thing that can be seen everywhere in major malls. Here is an example. For example, if we want to drink a certain kind of beverage, the beverage will automatically come out by pressing the corresponding beverage category. Here we can abstract and imagine the beverage
Definition: Defines an interface for creating objects, letting subclasses decide which class to instantiate, and the factory method delays the instantiation of a class to its subclasses.Type: Creating class ModeClass Diagram:
Factory Method mode Code
Interface IProduct {public
void Productmethod ();
}
Class
format//Call the Format method to let the pattern format specify a Date object. String Time=sdf.format (d);//execution of the format operation SOP (time);} public static void Sop (Object obj) {System.out.println (obj);}}/*runtime object: Note that the class does not have a constructor, theoretically its method should be static, but found that many methods are not static. So this
Traditional MVC is believed to be used by everyone, especially the Web Developer (server side).General data requests, changes will be the controller control, and then find the corresponding model, which is the general MVC. Then, once the model has changed, it can automatically feed back to the view, which is the Observer pattern ( an object changes, all objects that depend on it are notified and automatically updated ). (However, most MVC, such as the
Java and design pattern-proxy pattern
The proxy mode is also called the delegate mode. It is a structural design mode that provides a proxy for other objects to control access to this object. It sounds hard to understand that there are also many examples of agents in life. After graduation, I want to find a house, and how to quickly find my desired house must use
the skeleton of the algorithm is defined. Concrete Class (Concreteclass): Implements the abstract method in the abstract class, has completed the complete algorithm. Design examples1 //Abstract Templates2 Public Abstract classAbstractClass3 {4 protected Abstract voiddoanyting ();5 6 protected Abstract voiddosomething ();7 8 Public voidTemplatemethod ()9 {Ten doanyting (); One dosomething
I. OverviewUsing a Mediation object (the mediator) to encapsulate a series of object interactions, the mediator makes the objects do not need to explicitly reference each other, so that they are loosely coupled and can independently change the interaction between them. The mediator pattern, also known as the mediator pattern, is an object-behavioral pattern.Second, the application scenarioCoordinates the in
if(single =NULL) { OneSingle =NewSingle (); A } - returnSingle ; - } the}Below we explain that lazy thread is unsafe, usually we recommend writing a hungry man, because it is thread-safe.When multi-threaded access to lazy-type, because of the lazy way of the common data in the operation of multiple statements.Two threads, line Cheng and line Cheng call the GetInstance method at the same time, when thread 1 executes the If judgment, single is empty, there is no time t
not be shared), We say here that it is not allowed to share the role of the element, so the role of the element pattern is:
Abstract (Flyweight) role: Is the interface provided to the implementation element.
Specific (concreteflyweight) role: Implements an abstract role that must be shared and must contain a state that is internal.
Do not share the Unsharedconcreteflyweight role: This object is not shared, not all objects that implement
Big talk design pattern-modifier pattern C # problems compared with Java
I recently read the decorator mode in the big talk Design Model Book and wrote it again with C #. I found that the running results are different from those in the book, then I wrote the same code as the book in Java, different compilers and runtim
Java and design pattern-state pattern
Concept:The state pattern encapsulates the behavior of the studied object in different State objects. Each State object belongs to a subclass of an abstract state class. The intention of the state mode is to change the behavior of an ob
} public class Xmlsaxinterpreter implements interpreter {@Override public void interpret (context con
Text) {System.out.println ("XML SAX Interpreter:" + context.getdata ()); } public class Xmldominterpreter implements interpreter {@Override public void interpret
{System.out.println ("XML DOM Interpreter:" + context.getdata ());
}/** * Contains some information outside the interpreter/public
The single-case pattern is very much written, but the regular type of single-case mode is this, the various codes may be slightly different, but the core is to figure out the properties of class attribute instances, it is easy to write, the principle is exactly the same.As follows:Source:classA (object):def __new__(CLS, *args, * *Kwargs):if notHasattr (CLS,'__inst'): Print('Execute New') obj= Su
anonymous classes without the class keyword?1) to have the new operator, similar to the normal class instantiation of an expression.2) to implement an interface or inherit a class, the example above is to implement the HelloWorld interface.3) class body (body), where you can define fields, methods, or even partial cla
Java design pattern-Proxy pattern
Proxy mode provides a Proxy or placeholder for an object to control access to the object.
There are several application scenarios:
RemoteProxy provides a local representation of an object in different address spaces.
VirtualProxy creates objects with high overhead as needed.
ProtectionProxy controls access to the original obje
!") "); System.out.println ("----------------------------------------------"); Server.removeobserver (Userzhang); Server.setinfomation ("Java is the best language in the world!") "); }}Test results:6. Summary
This pattern is loosely coupled. Change the subject or the observer, and the other party will not be affected by the image.
There is also a self-con
1. Java view mode (facade pattern)(1) Overview:Modern software systems are more complex, and a common way for designers to deal with complex systems is to divide and divide a system into smaller subsystems. If the hospital as a subsystem, according to departmental functions, the system can be divided into registered, outpatient, pricing, laboratory, charge, take medicine and so on. It is not an easy thing f
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.