Scale up as you grow — whether you're running one virtual machine or ten thousand.

From GPU-powered inference and Kubernetes to managed databases and storage, get everything you need to build, scale, and deploy intelligent applications.

Some body asked me that Why do we have to implement singleton pattern when we have static. And here in your post you say that either we can use static method or implement it as Singleton. Can you please detail on this?
- Siva
Thanks for the clear explanation. I have one doubt here in Factory pattern. We have two concrete classes implementing the interface/Abstract class whose instances are created inside Factory class.But, instead of below line Computer pc = ComputerFactory.getComputer(“pc”,“2 GB”,“500 GB”,“2.4 GHz”); we can also use Computer pc=new PC(“pc”,“2 GB”,“500 GB”,“2.4 GHz”); to get new instance of PC. Then what is the advantage of using ComputerFactory.getComputer() method on the client side directly.?
- vamshi
It seems to me that you’re showing what is called a simple factory with ComputerFactory; It is not the Factory Method Pattern. The client TestFactory delegates the creation to another class which it is composed with. If you want to implement the Factory Method Pattern,: 1. ComputerFactory should define an asbtract method getComputer(String ram, String hdd, String cpu) 2. ComputerFactory should have two subclasses PCFactory and ServerFactory.which implements the superclass abstract method to return either a PC or a server 3. The client should be given one of the two concrete factories and call the factory method to get PC or servers, depending which one was instanciated
- JocelynL
I am relatively new to design patterns but I need to ask this question. What if we need to add another subclass of computer say Laptop to the application.? Does this mean we will have to modify the computer factory class? This looks like violating the OO principle which says classes should be closed to modification but open to extension.
- Stephen Ubogu
Yes. Its very nice article about simple factory covers basic concepts.
- Vishal
Hi, is there a place in which I can download all the source code for the several design pattern examples. These are great examples, but I have to copy-paste each single text box into Intellij, and it is very cumbersome. Thank you very much, and congratulations for such good material.
- Luis Cunha
It’s a very good tutorial. But I have a doubt, You mentioned Calendar#getInstance() as factory pattern implementation. But in this there is a small difference right? There is no separate factory class. The super class Calendar itself is acting as the factory class. Does an implementation like this have any advantage or disadvantage?
- Prashanth
Where below are implemented import com.journaldev.design.abstractfactory.PCFactory; import com.journaldev.design.abstractfactory.ServerFactory;
- BkOfc