Как да внедрим фабричен метод в Java



Този артикул ще ви предостави подробни и изчерпателни знания за това как да приложите Factory Method в Java с примери.

Класовете и обектите са основната част на което го прави един от основните програмни езици за работа. В тази статия ще обсъдим какво е фабричен метод в Java в следния ред:

Какво е фабричен метод в Java?





екземпляр на клас Java

Фабричен модел или Фабричен метод в Java казва, че подкласовете са отговорни за създаването на обект от клас. С други думи, моделът на фабричния метод е шаблон за създаване, който се използва за създаване на обекти с помощта на фабрични методи, без да се налага да се посочва точния клас на създадения обект. Извикват се и фабрични методи Виртуални конструктори .

Фабричен метод в лого на Java



Във Factory Methods създаваме обекти, без да излагаме логиката на създаване на клиентите. Същият общ интерфейс се използва от клиента за създаване на нов тип обекти.

Предимства на фабричния метод

  • Типът обекти, които трябва да бъдат създадени, се избират от подкласовете. Фабричният метод позволява това.

  • Чрез премахването на необходимостта от обвързване на специфични за приложението класове в кода, той насърчава хлабав съединител .



Използване на фабричния метод

  • Те се използват, когато класът няма представа какви подкласове се изискват.

  • Те се използват, когато клас иска подкласове, за да посочи обекти, които трябва да бъдат създадени.

  • Родителските класове избират създаването на обекти от подкласове, ние използваме фабрични методи.

Кога да използвам фабричния метод?

Разхлабеното свързване се въвежда между класовете по моделите на фабричните методикоето е един от най-важните принципи и трябва да се прилага при проектирането на архитектурата. Нашата архитектура може да стане по-гъвкава и по-малко крехка чрез въвеждане на свободно свързване в архитектурата на програмата.

Ето примерен код

интерфейс ImageReader {DecodedImage getDecodeImage ()} class DecodedImage {private String image public DecodedImage (String image) {this.image = image} @Override public String toString () {return image + ': is decoded'}} class GifReader implements ImageReader { private DecodedImage decodedImage public GifReader (String image) {this.decodedImage = new DecodedImage (image)} @Override public DecodedImage getDecodeImage () {return decodedImage}} class JpegReader implements ImageReaderDadodedIdgeDadgeDadgeDadgeDadgeDadgeDadgeDadge DecodedImage (image)} @Override public DecodedImage getDecodeImage () {return decodedImage}} public class FactoryMethodDemo {public static void main (String [] args) {DecodedImage decodedImage ImageReader reader = null String image = 'image.jpeg' String format = String format = String format = String format .substring (image.indexOf ('.') + 1, (image.length ())) if (format.equals ('gif')) {reader = new GifReader (image)} if (format.equals ('jpeg ')) {четец = нов JpegReader (изображение)} утвърждаване на четец! = null decodedImage = reader.getDecodeImage () System.out.println (decodedImage)}}

ИЗХОД:

Обяснение на кода

Този код показва как се настройва фабричен метод. Създават се множество класове, като всеки изпълнява определена задача за декодиране на изображение. Имаме клас на драйвер, наречен FactoryMethodDemo.

Предаваме аргумент, който трябва да има разширение .jpeg или .gif и т.н. Въз основа на разширението изображението се създава обект на клас за jpeg четец или gif четец и изпълнението се извършва по съответния начин.

С това стигнахме до края на тази статия на Factory Method In Java. Надявам се да разберете тези методи.

Вижте от Edureka, доверена компания за онлайн обучение с мрежа от над 250 000 доволни учащи, разпространени по целия свят. Курсът за обучение и сертифициране на Java J2EE и SOA на Edureka е предназначен за студенти и професионалисти, които искат да бъдат Java Developer.