powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Задача ООП
25 сообщений из 54, страница 1 из 3
Задача ООП
    #38160655
Alexey123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго дня. Изучаю java и ООП. Вроде всё понятно но туплю при применении ООП в предметной области. Как с вашей точки зрения правильно спроектировать классы для следующей задачи. Помогите просто накидать структуру классов, какие и зачем.

Задача выдачи кредита.
1. Расчёт предварительного графика выплат по месяцам
Входными данными являются процент, сумма, срок кредита и т.д.
Выходными - график по периодам (месяцам) с указанием суммы платежа по процентам и по погашению остатка.
2. Выдача кредита
3. Приём платежей по кредиту (человек может в один период(месяц) заплатить два раза).
4. Расчёт суммы платежа в текущем периоде (с учётом задолженности)
5. При расчёте могут использоваться разные алгоритмы (бывают Аннуитетные платежи (одинаковые) и Дифференцированные платежи (платежи уменьшаются))

Спасибо!
...
Рейтинг: 0 / 0
Задача ООП
    #38160671
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey123,
начните с сущностей (кредит, платеж, плательщик и т.д), рассмотрите их взаимосвязи, варианты использования вашей системы, и наверное уже потом можно будет говорить о классах
...
Рейтинг: 0 / 0
Задача ООП
    #38160695
Alexey123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Меня смущает следующее:
Если выделить сущность КРЕДИТ и ПЕРИОД (в смысле период платежа - месяц). В первом пункте нужно рассчитать график платежей, т.е. КРЕДИТ должен создать массив ПЕРИОДов. Где должен находится алгоритм расчёта стоимости платежа в конкретном периоде. С одной стороны это задача ПЕРИОДа (рассчитать свою стоимость), с другой данные для расчёта берутся из КРЕДИТа. Получается сущность КРЕДИТ содержит массив сущностей ПЕРИОД, а ПЕРИОД содержит ссылку на КРЕДИТ. Композиция в обе стороны.
...
Рейтинг: 0 / 0
Задача ООП
    #38160714
Лагман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey123,

В сущности АЛГОРИТМ
...
Рейтинг: 0 / 0
Задача ООП
    #38160732
Alexey123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лагман, спасибо за новую мысль)) сейчас накидаю диаграмму классов.
...
Рейтинг: 0 / 0
Задача ООП
    #38160733
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey123,
UML
...
Рейтинг: 0 / 0
Задача ООП
    #38160743
ivanra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Грубая структура, скорее всего, должна быть такой:
СУЩНОСТИ: кредит, период;
ИНТЕРФЕЙС (или абстрактный класс) для алгоритма генерации, ИНТЕРФЕЙС для алгоритма квитовки;
+ отдельные классы - реализации алгоритмов (EJB, если это J2ee приложение)
...
Рейтинг: 0 / 0
Задача ООП
    #38160746
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey123,
ждем
...
Рейтинг: 0 / 0
Задача ООП
    #38160784
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ivanra,
ИНТЕРФЕЙС - это уже реализация. Рановато.
...
Рейтинг: 0 / 0
Задача ООП
    #38160788
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

да и классы рановато
...
Рейтинг: 0 / 0
Задача ООП
    #38160797
Alexey123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот что набросал. Курсивом абстрактные методы и класс. Подчеркнуты статические методы.
...
Рейтинг: 0 / 0
Задача ООП
    #38160813
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я очень сомневаюсь, что есть сущность Алгоритм.
Илу у математиков - Формула )) IMHO
...
Рейтинг: 0 / 0
Задача ООП
    #38160814
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey123,
я не совсем втыкаю в связь кредита с алгоритмом расчета
...
Рейтинг: 0 / 0
Задача ООП
    #38160816
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,
есть такая сущность, паттерн Strategy
...
Рейтинг: 0 / 0
Задача ООП
    #38160822
Alexey123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javapecker, КРЕДИТ для расчёта периодов и платежей по периодам, пользуется АЛГОРИТМом.
...
Рейтинг: 0 / 0
Задача ООП
    #38160826
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey123,
так я и спрашиваю, как он им пользуется
...
Рейтинг: 0 / 0
Задача ООП
    #38160841
Alexey123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javapecker, думаю как-то так:

Код: java
1.
2.
3.
4.
5.
6.
public class Credit {
	....
	public void calculatePeriods(){
		Algortim alg= Algoritm.newInstance(this);
		this.periods=alg.CalculatePeriods();
	}
...
Рейтинг: 0 / 0
Задача ООП
    #38160853
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey123,
то есть у вас алгоритм сам определяет как считать, в зависимости от типа кредита? Может было бы удобнее сделать поле в кредите, и инициализировать его нужным алгоритмом? вместо поля тип кредита, потому что кредиты только алгоритмами и отличаются.
...
Рейтинг: 0 / 0
Задача ООП
    #38160867
Alexey123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javapecker, можно и так. Разница только в месте создания объекта, у меня в методе по требованию, а вы предлагаете в конструкторе КРЕДИТа. Кажись это и правда паттерн "Стратегия" ))
...
Рейтинг: 0 / 0
Задача ООП
    #38160878
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javapeckerPetro123,
есть такая сущность, паттерн Strategy
ты не перепутал паттерны и Бизнес-сущности?
Часто UML строят вообще не программисты.
А у нас уже пошли код писать)
...
Рейтинг: 0 / 0
Задача ООП
    #38160886
Alexey123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,
а какой ваш подход к решению задачи?
...
Рейтинг: 0 / 0
Задача ООП
    #38160897
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey123Petro123,
а какой ваш подход к решению задачи?
Сначала модель в терминах UML
Т.е. что сохраняется в БД - т.е. - данные.
Откуда потом растёт маппинг в ОРМ.
Что и куда вычислять на этих данных можно придумать миллион.
...
Рейтинг: 0 / 0
Задача ООП
    #38160898
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,
не перепутал
...
Рейтинг: 0 / 0
Задача ООП
    #38160904
Alexey123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

Сейчас попробую нарисовать...
...
Рейтинг: 0 / 0
Задача ООП
    #38160909
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey123,

разница не в этом, а в том, что у вас алгоритм наделен полномочиями решать, как ему считать по кредиту, но мне кажется, это не его забота. Необязательно в конструкторе передавать.
...
Рейтинг: 0 / 0
25 сообщений из 54, страница 1 из 3
Форумы / Java [игнор отключен] [закрыт для гостей] / Задача ООП
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]