ФАБРИЧНИЙ МЕТОД
Ось приклад використання фабрики методів на Python:
# Класи для створюваних об'єктів
class Dog:
def __init__(self, name):
self.name = name
def speak(self):
return "Woof!"
class Cat:
def __init__(self, name):
self.name = name
def speak(self):
return "Meow!"
# Фабричний метод для створення тварин
class AnimalFactory:
def create_animal(self, animal_type, name):
if animal_type == "dog":
return Dog(name)
elif animal_type == "cat":
return Cat(name)
else:
raise ValueError("Invalid animal type")
# Використання фабрики методів
factory = AnimalFactory()
dog = factory.create_animal("dog", "Buddy")
print(dog.speak()) # Виведе: Woof!
cat = factory.create_animal("cat", "Whiskers")
print(cat.speak()) # Виведе: Meow!
У цьому прикладі AnimalFactory є фабричним методом
Він має метод create_animal, який приймає тип тварини (dog, або cat) й ім’я для створення відповідного об’єкта (у нашому випадку: "Buddy" та "Whiskers")
Після створення об’єктів ми можемо викликати метод speak(), який повертає рядок із звуком, який видає тварина (голос ми передали через у кожному класі окремо) 😉
АБСТРАКТНА ФАБРИКА
Ось приклад використання абстрактної фабрики на Java:
// Класи для створюваних об'єктів
У цьому прикладі інтерфейс Shape представляє геометричну фігуру, а його реалізації - Circle, Rectangle та Triangle - представляють конкретні фігури.
Абстрактна фабрика представлена інтерфейсом ShapeFactory, а його реалізації - CircleFactory, RectangleFactory та TriangleFactory - відповідають за створення відповідних фігур.
У AbstractFactoryExample ми створюємо різні фабрики та використовуємо їх для створення та виведення різних геометричних фігур.
Загалом, фабричний шаблон проектування є потужним інструментом для покращення організації коду та забезпечення його гнучкості 😌
Він знаходить своє застосування в різних областях програмування, від обробки даних до графічних інтерфейсів)
Якщо ти насолоджуєшся моїми постами, донат допоможе мені віддавати більше часу на створення якісного контенту 🤗
5408810040380635
#pattern #js #python #java
Ось приклад використання фабрики методів на Python:
# Класи для створюваних об'єктів
class Dog:
def __init__(self, name):
self.name = name
def speak(self):
return "Woof!"
class Cat:
def __init__(self, name):
self.name = name
def speak(self):
return "Meow!"
# Фабричний метод для створення тварин
class AnimalFactory:
def create_animal(self, animal_type, name):
if animal_type == "dog":
return Dog(name)
elif animal_type == "cat":
return Cat(name)
else:
raise ValueError("Invalid animal type")
# Використання фабрики методів
factory = AnimalFactory()
dog = factory.create_animal("dog", "Buddy")
print(dog.speak()) # Виведе: Woof!
cat = factory.create_animal("cat", "Whiskers")
print(cat.speak()) # Виведе: Meow!
У цьому прикладі AnimalFactory є фабричним методом
Він має метод create_animal, який приймає тип тварини (dog, або cat) й ім’я для створення відповідного об’єкта (у нашому випадку: "Buddy" та "Whiskers")
Після створення об’єктів ми можемо викликати метод speak(), який повертає рядок із звуком, який видає тварина (голос ми передали через у кожному класі окремо) 😉
АБСТРАКТНА ФАБРИКА
Ось приклад використання абстрактної фабрики на Java:
// Класи для створюваних об'єктів
interface Shape {
void draw();
}
class Circle implements Shape {
public void draw() {
System.out.println("Drawing a circle");
}
}
class Rectangle implements Shape {
public void draw() {
System.out.println("Drawing a rectangle");
}
}
class Triangle implements Shape {
public void draw() {
System.out.println("Drawing a triangle");
}
}
// Абстрактна фабрика для створення геометричних фігур
interface ShapeFactory {
Shape createShape();
}
class CircleFactory implements ShapeFactory {
public Shape createShape() {
return new Circle();
}
}
class RectangleFactory implements ShapeFactory {
public Shape createShape() {
return new Rectangle();
}
}
class TriangleFactory implements ShapeFactory {
public Shape createShape() {
return new Triangle();
}
}
// Використання абстрактної фабрики
public class AbstractFactoryExample {
public static void main(String[] args) {
ShapeFactory factory;
// Створення кола
factory = new CircleFactory();
Shape circle = factory.createShape();
circle.draw(); // Виведе: Drawing a circle
// Створення прямокутника
factory = new RectangleFactory();
Shape rectangle = factory.createShape();
rectangle.draw(); // Виведе: Drawing a rectangle
// Створення трикутника
factory = new TriangleFactory();
Shape triangle = factory.createShape();
triangle.draw(); // Виведе: Drawing a triangle
}
}У цьому прикладі інтерфейс Shape представляє геометричну фігуру, а його реалізації - Circle, Rectangle та Triangle - представляють конкретні фігури.
Абстрактна фабрика представлена інтерфейсом ShapeFactory, а його реалізації - CircleFactory, RectangleFactory та TriangleFactory - відповідають за створення відповідних фігур.
У AbstractFactoryExample ми створюємо різні фабрики та використовуємо їх для створення та виведення різних геометричних фігур.
Загалом, фабричний шаблон проектування є потужним інструментом для покращення організації коду та забезпечення його гнучкості 😌
Він знаходить своє застосування в різних областях програмування, від обробки даних до графічних інтерфейсів)
Якщо ти насолоджуєшся моїми постами, донат допоможе мені віддавати більше часу на створення якісного контенту 🤗
5408810040380635
#pattern #js #python #java
❤6🤩2😍2👍1