Породжувальнi шаблони. Шаблони Abstract Factory, Builder
Автор: Везер • Февраль 28, 2024 • Лабораторная работа • 1,661 Слов (7 Страниц) • 66 Просмотры
1Міністерство освіти і науки України
Національний технічний університет України
«Київський політехнічний інститут ім. Ігоря Сікорського»
Факультет інформатики та обчислювальної техніки
Кафедра обчислювальної техніки
ЛАБОРАТОРНА РОБОТА № 9
з дисципліни «Інженерія програмного забезпечення»
на тему « ПОРОДЖУВАЛЬНІ ШАБЛОНИ. Шаблони Abstract Factory, Builder»
ВИКОНАВ:
студент ІІ курсу ФІОТ групи ІО-21 Кривенко Богдан
Залікова № 2108
Варіант – 7
ПЕРЕВІРИВ:
Ст.викладач кафедри ОТ Васильєва М.Д.
Київ – 2023
ЗАВДАННЯ
Мета:
Вивчення породжувальних шаблонів. Отримання базових навичок з застосування шаблонів Abstract Factory та Builder.
Варіант завдання :
[pic 1]
ПРОГРАМНИЙ КОД
package com.lab111.labwork9;
/**
* an interface for building a table
*/
public interface TableBuilder {
TableBuilder startRow();
TableBuilder addValue(Object value);
TableBuilder endRow();
RelationTable build();
}
package com.lab111.labwork9;
/**
* ConcreteBuilder - Concrete builder for tables
*/
public class ConcreteRelationTableBuilder implements TableBuilder {
private RelationTable table = new RelationTable();
private TableRow currentRow;
/**
* Method to start a new row
*/
@Override
public TableBuilder startRow() {
currentRow = new TableRow();
return this;
}
/**
* Method to add a value to the current row
*/
@Override
public TableBuilder addValue(Object value) {
currentRow.addValue(value);
return this;
}
/**
* Method to end the current row
*/
@Override
public TableBuilder endRow() {
table.addRow(currentRow);
return this;
}
/**
* Method to build the final table
*/
@Override
public RelationTable build() {
return table;
}
}
package com.lab111.labwork9;
import java.util.ArrayList;
import java.util.List;
/**
* Product - Class representing a table
*/
public class RelationTable {
private List<TableRow> rows = new ArrayList<>();
/**
* Method to add a row to the table
...