Examples of the Abstract Factory Design Pattern
Could someone please give an example about situations in which you would definitly use the Abstract Factory Design Pattern?
Ok, but they are coupled because Abstract Factory uses Factory methods. Without getting too detailed here, Abstract Factory is useful when you want to swap out entire sets of things (ie. pluggable look and feels). So one subclass of AbstractGUIFactory is MotifGUIFactory while another is WindowsGUIFactory. Your application can gets a specific factory but puts it in an AbstractFUIFactory variable.
AbstractGUIFactory factory = new WindowsGUIFactory();
AbstractButton = factory.makeButton();So you can program generically and swap out entire sets of widgets by changing one line of code.
You should really read Design Patterns by Gamma et al. because it is the definitive book on this topic.
Similar Messages
-
Abstract Factory Design Pattern
Could someone please explain the abstract factory design pattern in simple english. As far as I understand it is used to create a bunch of related objects based on parameter/s provided at runtime.
However, why would one use this compared to an Interface.
I actually am reading a great book on design patterns (Design Pattern by James Cooper) but having a bit of problem really understanding this one.
CheersAs far as I
understand it is used to create a bunch of related
objects based on parameter/s provided at runtime. There may be variations but as I understand it basically an Abstract Factory defines two interfaces, one is the factory and one is the product. A good example is iterators in Java. The iterator factory is the Iterable interface and the iterator product is the Iterator interface.
ArrayList implements Iterable so it's an iterator factory. If you call the iterator() method of an ArrayList object you'll get an Iterator object. The same applies to TreeSet and many other classes.
The Iterator objects sport the same Interface but they're quite different internally of course (Iterating an array is not the same as iterating a tree) so they're a "family of related products". -
The drawback of design patterns
It is more and more important to get the skill of using design patterns as a programmer , and there is many material about it , all of them talking about the benefits of using patterns, But I know that Patterns is not so better as they argued , Patterns also have deficiency , Patterns can not be used every where .....
What I want here is that I hope to hear heatly discussing about the "the drawback of design patterns" , please using your head , typing what u know here !Patterns can not solve the problems such as "code
scattening" and "code tangling"Okay, so there are some problems that patterns can't solve. Apparently by your logic, the fact that concrete doesn't cure cancer is a deficiency of concrete. I suppose that's logically defensible, but it also contains precisely zero information, so it's a pointless statement.
, these the
headaches are in the domain of OO , Design Patterns
are only smart design idiom within OO , but they can
not solve the drawback of OO , and Patterns should
not be used everywhere Okay. So, again, concrete is in the domain of construction, but it cannot solve the drawbacks of construction, so that's a deficiency of concrete. Again, zero information, thus pointless.
, the places where they should
be used is the place where u face "May be change in
the future " ! Patterns are not so much about future change as they are about providing a common vocabulary--a means of communication--and a stock of parts to draw from when solving certain problems.
Use Patterns add many classes into your code ,Maybe, maybe not.
Good design adds classes. Poor design stuffs everything into a few bloated classs. Many classes is not necessarily a bad thing, and if you've employed good design, you'll likely have the same design as specified in a pattern. So using patterns doesn't in and of itself add classes. The pattern-ness comes into play in applying the name to the good design you did anyway. -
Hi people, I have a question about a design I'm using.
Lets say I have an object that can be a number between 1 and 100, or another couple of values such as not defined or implicit.
I had a basic design that looked like this:
public final class ObjectExample
public static final ObjectExample NOT_DEFINED = new ObjectExample(-1);
public static final ObjectExample IMPLICIT = new ObjectExample(-1);
public static final ObjectExample createObjectExample(int value)
if ((value < 1) || (value > 100))
throw new IllegalArgumentException("Value is not valid");
return new ObjectExample(value);
private final int value;
private ObjectExample(int value)
this.value = value;
public int getValue()
return value;
}Now this code does what I need, I was just wondering about the merits of using a factory method to create the objects. Why shouldn't I just move the logic of checking the value of the supplied value to the constructor and make that public?
Basically, what I suppose I'm asking is, in this particular example, is there any need to use a "factory" method to create objects?
Cheers, Boomah :o)In this particular case you could certainly put that logic in a constructor. However if you decided you wanted to use a Flyweight pattern and only have one instance of ObjectExample(1) instead of many, then you would need a factory method that created that one instance and always returned it when called with 1 as its parameter. You couldn't do that with a constructor.
-
Factory Design Pattern with Java generics
I was wondering if it was possible to implement the factory pattern using a generic like sintax with java5. Something like:
IFactory factory = new ConcreteFactory();
Car c=factory.CreateObject<Car>();
I saw this article the other day http://weblogs.asp.net/pgielens/archive/2004/07/01/171183.aspx
done in C# for the framework 2.0 and tryed to re-implement it with java5 however I was less then fortunate, can someone do a functional conversion?I had to change the signature a bit but this is the best I came with:
(I don't like I have to write Type.class but if someone has a better idea please share, I deliberatly used classes are return types but you can easily program to the interfaces as well)
use:
ConcreteFactory cf=new ConcreteFactory();
Car c=cf.Create(Car.class);
public interface Vehicle {
String getName();
public class Plane implements Vehicle {
String name="Mig 29";
public String getName() {
return name;
public class Car implements Vehicle {
String name="Volvo";
public String getName() {
return name;
public interface IFactory{
<T> T Create(Class<T> type);
public class ConcreteFactory implements IFactory {
public <T extends Vehicle> T Create(Class<T> type) {
try {
return type.newInstance();
} catch (InstantiationException e) {
return null;
} catch (IllegalAccessException e) {
return null;
} -
Using IOC with Factory Design pattern
Say I have two different data sources, one XML and another Database.I have 2 DAO's corresponding to the 2 data source and a DAOFactory to get the DAO.
Now, I want to use IOC from the service layer to get appropriate DAO. Using DAOFactory will break IOC.
Will it be a good idea to inject DAOFactory into the service layer?
I somehow don't feel comfortable in doing so, Factories seem to be more or less like utility and injecting utility into the service does not seem a good idea to me.
Please let me know how to get around this situation.
Regards,
JoshuaJoshuaAntony wrote:
Say I have two different data sources, one XML and another Database.I have 2 DAO's corresponding to the 2 data source and a DAOFactory to get the DAO.
Now, I want to use IOC from the service layer to get appropriate DAO. Using DAOFactory will break IOC.
Will it be a good idea to inject DAOFactory into the service layer?
I somehow don't feel comfortable in doing so, Factories seem to be more or less like utility and injecting utility into the service does not seem a good idea to me.To me, this sounds like you're getting bogged down in abstract terminology and worrying about vague "rules" rather than considering the problem. Do you even need a DAOFactory? As the other guy said, a DAO interface, implemented however you like, injected where it's needed, is nice and simple, and avoids all those bothersome factories you probably don't need -
Hi,
I'm trying to implement the Abstract Builder design pattern for a fairly complex object. If I understand correctly, the builder creates the whole object in one shot; as in, the pieces are hidden from the client while the object is being built. So suppose the object that I need to include as an "ingredient" is more complex. I have a class called Route (with different types that extend it) that requires a list of segments and an origin and destination. The part I'm confused on is how to build a route if I can't provide parameters for it. All the examples I've found so far have had simple objects for the ingredients that didn't require any personalization. Sorry if I'm being unclear. Ask if you need clarification.Could be. I'm far from a pattern guru. The key here is to find an approach that works. If perusing a catalog of patterns give you and idea of how to solve your problem, great, use it. On the other hand, if you already have a solution, and it happens to fit a pattern, then cool, now you have a name for what you did. The wrong thing to do would be to try to force it into a particular pattern that doesn't fit.
The value in patterns is twofold: 1) as a means of communication of some fairly complex, commonly used, abstract concepts, as in, "I suggest a Builder Pattern for this," and the other guy knows exactly what you're talking about, or at least has a general idea and knows where to go for details, and 2) as a catalog of common solutions to existing problems, as in, "Dang it, I have this problem with such-and-such interactions among the pieces, I'm not sure how to structure a solution, but I bet somebody else has done it before... Oh, yeah! Builder Pattern! That'll work!" -
BlazeDS and Abstract Factory Pattern
Hi All,
I was trying to extend my application using the Factory Method. But, I identified that I need to use an abstract Factory pattern to meet my design requirements. In other words I need to create a FactoryInstance based on a input. Will that be possible.
Any help?????
-Ram VThe Factory pattern is meant to give you the ability to generically construct objects (rather than explicitly declare what you want to create via the "new" keyword you defer to a factory and take what it gives you) The Abstract Factory pattern is meant to give you the ability to generically construct Factories. So, for instance, say you want to create widgets with a certain look and feel. You could use the Factory pattern and ask a ButtonFactory to make buttons and a TextArea factory to make TextAreas, but since you want the same look and feel for all widgets you could just ask the WidgetFactory to give you a WidgetFactory for a given Look and Feel and then ask it to make Buttons and TextAreas and whatever else, knowing that it has handled which kind of button and whatever else you need.
Hope that made sense, good luck
Lee -
Design Patterns, The Decorator
When trying to implement the classic decorator design patterns your decorator executable might look like this:<br><br>
<pre>
METHOD validate.
DATA: Validator TYPE REF TO validation_manager.
CREATE OBJECT:
Validator TYPE validation_manager.
,Validator TYPE validate_format EXPORTING x_validator = Validator
,Validator TYPE validate_values EXPORTING x_validator = Validator
,Validator TYPE validate_relation_input EXPORTING x_validator = Validator
,Validator TYPE validate_relation_database EXPORTING x_validator = Validator.
me->lst_result = validator->validate( me->lst_data ).
WRITE: / 'Processing Validate Activity'.
ENDMETHOD. "validate</pre><br><br>
The validate method ends up in endless resurcion in the memory. The reason is that I'm using the same variable as the resulting instanse and as parameter. It seems like the constructor treats both the result and the parameter as the same field/instanse regardless import parameter such as VALUE/REFERENCE. If I change the method to use an extra field in the method validate like:
<br><br><pre>
METHOD validate.
DATA:
validator TYPE REF TO validation_manager
,recursive TYPE REF TO validation_manager.
CREATE OBJECT validator TYPE validation_manager.
recursive ?= validator.
CREATE OBJECT validator TYPE validate_format
EXPORTING x_validator = recursive.
recursive ?= validator.
CREATE OBJECT validator TYPE validate_values
EXPORTING x_validator = recursive.
recursive ?= validator.
CREATE OBJECT validator TYPE validate_relation_input
EXPORTING x_validator = recursive.
recursive ?= validator.
CREATE OBJECT validator TYPE validate_relation_database
EXPORTING x_validator = recursive .
recursive ?= validator.
me->lst_result = validator->validate( me->lst_data ).
WRITE: / 'Processing Validate Activity'.
ENDMETHOD. "validate</pre><br><br>
Now the decorator engine works, but why does the first implementation not work when the same one executes fine in php, c++, delphi, java and other languages.<br><br>
If you do not know what I'm trying to discuss, look up "Design Patterns - Simply", and jump to the chapter about the decorator design pattern. I'm trying to use this design pattern for a validation manager within my Business Process Engine, which needs to be able to configure what types of validation needed for on specific process (BPMN).<br><br>Hi Matt, Thanks for the formatting..:) I will post the complete program as it's only a prototype program. Trying to get the format under control.
</body>
Report ZDP_DECORATOR_XMP01
REPORT zdp_decorator_xmp01.
parameters: bestimpl TYPE boolean_01 default 0.
TYPES:
BEGIN OF processdata
,name TYPE char30
,street TYPE char30
,zip TYPE char5
,city TYPE char30
,email TYPE char50
,phone TYPE char20
,END OF processdata
,BEGIN OF result
,msgid TYPE msgid
,msgtyp TYPE msgty
,msgno TYPE msgno
,status TYPE char1
,END OF result.
CONSTANTS:
true TYPE boolean_01 VALUE 1
,false TYPE boolean_01 VALUE 0.
CLASS validationmanager DEFINITION
CLASS validation_manager DEFINITION.
PUBLIC SECTION.
METHODS:
validate
IMPORTING
x_data TYPE processdata
RETURNING
value(y_result) TYPE result.
ENDCLASS.
CLASS validationmanager IMPLEMENTATION
CLASS validation_manager IMPLEMENTATION.
METHOD validate.
WRITE: / 'Common validation'.
ENDMETHOD. "validate
ENDCLASS.
CLASS Validate_Decorator DEFINITION
CLASS validate_decorator DEFINITION INHERITING FROM validation_manager ABSTRACT .
PUBLIC SECTION.
DATA: validator TYPE REF TO validation_manager.
ENDCLASS.
CLASS validate_format DEFINITION
CLASS validate_format DEFINITION INHERITING FROM validate_decorator.
PUBLIC SECTION.
METHODS:
constructor
IMPORTING value(x_validator) TYPE REF TO validation_manager
,validate REDEFINITION.
ENDCLASS.
CLASS validate_format IMPLEMENTATION
CLASS validate_format IMPLEMENTATION.
METHOD constructor.
CALL METHOD super->constructor( ).
me->validator = x_validator.
ENDMETHOD. "constructor
METHOD validate.
y_result = validator->validate( x_data ).
IF y_result-status IS INITIAL.
WRITE: / 'Now doing the format checks'.
ENDIF.
ENDMETHOD. "validate
ENDCLASS.
CLASS validate_values DEFINITION
CLASS validate_values DEFINITION INHERITING FROM validate_decorator.
PUBLIC SECTION.
METHODS:
constructor
IMPORTING value(x_validator) TYPE REF TO validation_manager
,validate REDEFINITION.
ENDCLASS.
CLASS validate_values IMPLEMENTATION
CLASS validate_values IMPLEMENTATION.
METHOD constructor.
CALL METHOD super->constructor( ).
me->validator = x_validator.
ENDMETHOD. "constructor
METHOD validate.
y_result = validator->validate( x_data ).
IF y_result-status IS INITIAL.
WRITE: / 'Now doing the values checks'.
ENDIF.
ENDMETHOD. "validate
ENDCLASS.
CLASS validate_relation_input DEFINITION
CLASS validate_relation_input DEFINITION INHERITING FROM validate_decorator.
PUBLIC SECTION.
METHODS:
constructor
IMPORTING value(x_validator) TYPE REF TO validation_manager
,validate REDEFINITION.
ENDCLASS.
CLASS validate_relation_input IMPLEMENTATION
CLASS validate_relation_input IMPLEMENTATION.
METHOD constructor.
CALL METHOD super->constructor( ).
me->validator = x_validator.
ENDMETHOD. "constructor
METHOD validate.
y_result = validator->validate( x_data ).
IF y_result-status IS INITIAL.
WRITE: / 'Now doing the relation input checks'.
ENDIF.
ENDMETHOD. "validate
ENDCLASS.
CLASS validate_relation_database DEFINITION
CLASS validate_relation_database DEFINITION INHERITING FROM validate_decorator.
PUBLIC SECTION.
METHODS:
constructor
IMPORTING value(x_validator) TYPE REF TO validation_manager
,validate REDEFINITION.
ENDCLASS.
CLASS validate_relation_database IMPLEMENTATION
CLASS validate_relation_database IMPLEMENTATION.
METHOD constructor.
CALL METHOD super->constructor( ).
me->validator = x_validator.
ENDMETHOD. "constructor
METHOD validate.
y_result = validator->validate( x_data ).
IF y_result-status IS INITIAL.
WRITE: / 'Now doing the relation database checks'.
ENDIF.
ENDMETHOD. "validate
ENDCLASS.
CLASS process_execution DEFINITION
CLASS process_execution DEFINITION.
PUBLIC SECTION.
METHODS:
startevent
,getdata
,validate
,process
,endevent.
PRIVATE SECTION.
DATA:
lst_data TYPE processdata
,lst_result TYPE result.
ENDCLASS. "process_execution DEFINITION
CLASS process_execution IMPLEMENTATION
CLASS process_execution IMPLEMENTATION.
METHOD startevent.
WRITE: / 'Processing startevent'.
ENDMETHOD. "startevent
METHOD getdata.
me->lst_data-name = 'Hans Andersen'.
me->lst_data-street = 'H.C Andersens Boulevard 112'.
me->lst_data-zip = '1557'.
me->lst_data-city = 'København'.
me->lst_data-email = 'hcATandersen.dk'.
me->lst_data-phone = '0045-31162211'.
WRITE: / 'Processing Get_Data Activity'.
ENDMETHOD. "getdata
METHOD validate.
DATA:
validator TYPE REF TO validation_manager
,recursive TYPE REF TO validation_manager
IF bestimpl = true.
CREATE OBJECT:
validator TYPE validation_manager
,validator TYPE validate_format EXPORTING x_validator = recursive
,validator TYPE validate_values EXPORTING x_validator = recursive
,validator TYPE validate_relation_input EXPORTING x_validator = recursive
,validator TYPE validate_relation_database EXPORTING x_validator = recursive.
ELSE.
CREATE OBJECT validator TYPE validation_manager.
recursive ?= validator.
CREATE OBJECT validator TYPE validate_format
EXPORTING x_validator = recursive.
recursive ?= validator.
CREATE OBJECT validator TYPE validate_values
EXPORTING x_validator = recursive.
recursive ?= validator.
CREATE OBJECT validator TYPE validate_relation_input
EXPORTING x_validator = recursive.
recursive ?= validator.
CREATE OBJECT validator TYPE validate_relation_database
EXPORTING x_validator = recursive .
recursive ?= validator.
ENDIF.
Recursive call of the validate and it's successors
me->lst_result = validator->validate( me->lst_data ).
WRITE: / 'Processing Validate Activity'.
ENDMETHOD. "validate
METHOD process.
WRITE: / 'Processing Process Activity'.
ENDMETHOD. "process
METHOD endevent.
WRITE: / 'Processing endevent'.
ENDMETHOD. "endevent
ENDCLASS.
CLASS mainapp DEFINITION *
CLASS mainapp DEFINITION.
PUBLIC SECTION.
CLASS-METHODS:
main.
ENDCLASS.
CLASS mainapp IMPLEMENTATION *
CLASS mainapp IMPLEMENTATION.
METHOD main.
DATA:
p89 TYPE REF TO process_execution.
CREATE OBJECT p89.
p89->startevent( ).
p89->getdata( ).
p89->validate( ).
p89->process( ).
p89->endevent( ).
ENDMETHOD.
ENDCLASS.
START-OF-SELECTION.
mainapp=>main( ).
Edited by: Matt on Dec 22, 2009 2:03 PM Fixed formatting -
Producer/Consumer Design Pattern with Classes
I'm starting a new project which involves acquiring data from various pieces of equipment using a GPIB port. I thought this would be a good time to start using Classes. I created a GPIB class which contains member data of: Address, Open State, Error; with member vis such as Set Address, Get Address, Open, Close...general actions that all GPIB devices need to do. I then created a child class for a specific instrument (Agilent N1912 Power Meter for this example) which inherits from the GPIB class but also adds member data such as Channel A power and Channel B power and the associated Member Functions to obtain the data from the hardware. This went fine and I created a Test vi for verfication utilizing a typical Event Structure architecture.
However, in other applications (without classes) I typically use the Producer/Consumer Design Pattern with Event Structure so that the main loop is not delayed by any hardware interaction. My queue data is a cluster of an "action" enum and a variant to pass data. Is it OK to use this pattern with classes? I created a vi and it works fine and attached is a png (of 1 case) of it.
Are there any problems doing it this way?
JasonJTerosky wrote:
I'm starting a new project which involves acquiring data from various pieces of equipment using a GPIB port. I thought this would be a good time to start using Classes. I created a GPIB class which contains member data of: Address, Open State, Error; with member vis such as Set Address, Get Address, Open, Close...general actions that all GPIB devices need to do. I then created a child class for a specific instrument (Agilent N1912 Power Meter for this example) which inherits from the GPIB class but also adds member data such as Channel A power and Channel B power and the associated Member Functions to obtain the data from the hardware. This went fine and I created a Test vi for verfication utilizing a typical Event Structure architecture.
However, in other applications (without classes) I typically use the Producer/Consumer Design Pattern with Event Structure so that the main loop is not delayed by any hardware interaction. My queue data is a cluster of an "action" enum and a variant to pass data. Is it OK to use this pattern with classes? I created a vi and it works fine and attached is a png (of 1 case) of it.
Are there any problems doing it this way?
Including the error cluster as part of the private data is something I have never seen done and ... well I'll have to think about that one.
Ben
Ben Rayner
I am currently active on.. MainStream Preppers
Rayner's Ridge is under construction -
Producer/Consumer Design Pattern + DAQmx + Event Structure
Dear community users,
at the moment I try to implement the Producer/Consumer Design Pattern into my current project. For this purpose I am trying to make a "minimal-example" in which I use the Producer/Consumer Design Pattern for the data acquisition and analysis (display in GraphXY, calculation etc..) process. In the Producer Loop I perform the data readings via DAQmxRead.VI and in the Consumer Loop, in this example only, I display the data in a GraphXY. At the same time I want to control the data acquisition via an Event Structure, for example Start Measurement/Stop Measurement Buttons. To configure the measurement time, for example if the user only wants to measure 150 sec, I use the Time Out Event of the Event Structure. This is a technique which is often used, when data acquisition and Event Structures are used at the same time (Excuse me if this is wrong!). Due to understand the Producer/Consumer Design Pattern I looked up in the Template\Framework of LabVIEW.
In the attachment you will find my "minimal-example", which -sadly-, not working. What should I do ?
Thank you.
Best regards,
tugrul öztürk
Attachments:
daqEngine_PCP.vi 35 KBYour VI will never stop due to the Ok Button that stops the producer loop is read OUTSIDE of the loop. Add an event case for it.
Move the Start and the Ok Button inside of their respective event cases. This will allow the latch to reset when they are read.
Change the Ok Button to a stop button.
Use a Greater Or Equal instead of Equal for the measurement time comparison. What if somebody randomly changes it to 0 on you? Again, you will never stop.
Is the DAQ only supposed to read for "Measurement Time". Right now, it constantly reads. So if you don't use the DAQmx Read, you will get a buffer overflow error. You need to put the DAQmx Start Task inside of the Start event case and then the Stop DAQmx Task inside of the Timeout event case when the measurement time is exceeded. You should also perform the read regardless inside of the Timeout event case.
I HATE telling the consumer loop to stop by destroying the queue. You can look data that way. Instead, send something an empty array. In the consumer, check for an empty array. If it is empty, stop. Destroy the queue only AFTER BOTH LOOPS HAVE COMPLETED.
You should also report your errors in some way. Simple Error Handler at the minimum.
Since you are using Continous Samples, don't limit the buffer. Leave the Samples per Channel unwired on the DAQmx Timing VI.
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines -
How to create plug and play design pattern on a environment
Hi All,
Help me to get a best design for my problem statement.
Problem Statement: I have to create a platform where I should be able to plug and play different components. explaining better with example
Example:
1. I have to create a platform for school
2. In this school platform we have to plug in multiple components like "Student", "Teacher", "Subjects", "ClassPeriods" etc.,
3. These components should be easily plug/unplug and play
4. Like, the component "ClassPeriods" want to purchase from Vendor 1 and plug it to "School" platform it should work.
5. Incase if we want to unplug the "ClassPeriod" component provided bfy Vendor 1 from "School" platform and want to plug the "ClassPeriod" from Vendor 2. then the Design should support without any extra effort.
Suggest me the best design pattern for the problem
This design pattern is for ASP.Net
Thanks,
S.KannanSounds like you're looking at 'Composition'. As a background, and possible solution, take a look at MEF;
http://mef.codeplex.com/
http://pauliom.wordpress.com -
Design patterns in portlet development
Hello,
I am a student at the Technical University in Munich, Germany and I am working on a university project on design patterns for portlets.
The focus of my work is researching the best practices when developing a web portlet, especially which design patterns are the most suitable for portlets development.
For example, the MVC pattern is one of the most popular design patterns for portlets.
I am writing to you to ask which design patterns are used in the development of your portlets from the SAP Enterprise Portal.
- What design patterns do you use for your portlets?
- Do you use MVC among others?
- Do you have your own design patterns?
- Do you use any templates or guidelines for portlet development that involve design patterns?
I am looking forward to your answer. Any answer would help with the research, as experts interviews are part of my work in the project.
I appreciate any references you consider to be related to my search.
Thank you,
Julia Alexandrescu
Department of Informatics
Technical University Munich
Email: [email protected]Hi raaj,
I have a query related to this.
I am a beginner to portlets.
Say I have an existing struts application.What all do i need to modify or add to make a .portlet file out of it so as to make it deployable in Weblogic 8.1 SP3?
Is adding a portlet.xml enough?
if yes, what would the portlet.xml look like?
Do i need to add a separate class as well?
I couldnt get any sufficient answers from other forums.
Can you please help?
Thanks & Regards,
Nishant -
Design Patterns in Dynamic Programming
I mentioned this on a thread some time ago - that many of the GoF patterns disappear in languages such as Lisp, but didn't have the reference handy. Came across it again today so I thought I'd post the link:
http://www.norvig.com/design-patterns/
Petehi sourdi
Below are the list of Design pattern in abap .
Singleton: ensuring single class instantiation
Adapter: making class interfaces compatible
Factory: encapsulating object creation
MVC: decoupling business logic from the view
Facade: providing a simplified interface
Composite: treating individual objects and compositions uniformly
Decorator: forming a dynamic chain of components to be used as one by the client
regards
chinnaiya P -
Design Patterns in ABAP.
Hi,
I want to know about the Design Patterns in ABAP.
Regards,
Souravhi sourdi
Below are the list of Design pattern in abap .
Singleton: ensuring single class instantiation
Adapter: making class interfaces compatible
Factory: encapsulating object creation
MVC: decoupling business logic from the view
Facade: providing a simplified interface
Composite: treating individual objects and compositions uniformly
Decorator: forming a dynamic chain of components to be used as one by the client
regards
chinnaiya P
Maybe you are looking for
-
How can I Retrieve special chars from a HTTP Request??
Hi, I want to retrieve special chars from a request Chars like accents used in spanish languages or symbols? Is there any way to do it Thanks in advance Alejandro Arredondo
-
How can I make a back-up with the MAC OS X disc on external data?
Hello guys! I have a problem, my MacBook does not turn on, so to save some of the data I have to make a back-up. For this I bought an external drive to put the data on. With the disc MAC OS X I tried recovering the data, but this does not work. When
-
iTunes library to iPod, iPhone, iPad, or Apple TV
-
More Java in SQL: Viewing resources
Okay, I'm trying to load and use apache's soap.jar into my schema from the HTML DB SQL Command Processor. This is the same jar that I have been using within JDeveloper during testing. The resource seems to load properly, but when I try to reference t
-
Open or Save WolAuthenticationHandler.json
Hi, On my fresh install of Windows 8 which is upgraded to 8.1, I see below prompt when I browse some sites: "Do you want to open or save WolAuthenticationHandler.json from windows.microsoft.com?" Some of those sites are famous sites and I have browse