Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Породжувальнi шаблони. Шаблони Abstract Factory, Builder

Автор:   •  Февраль 28, 2024  •  Лабораторная работа  •  1,661 Слов (7 Страниц)  •  20 Просмотры

Страница 1 из 7

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

...

Скачать:   txt (7.4 Kb)   pdf (102.2 Kb)   docx (28.3 Kb)  
Продолжить читать еще 6 страниц(ы) »
Доступно только на Essays.club