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

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

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

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

да и классы рановато
...
Рейтинг: 0 / 0
21.02.2013, 14:44:02
    #38160797
Alexey123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача ООП
Вот что набросал. Курсивом абстрактные методы и класс. Подчеркнуты статические методы.
...
Рейтинг: 0 / 0
21.02.2013, 14:52:02
    #38160813
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача ООП
я очень сомневаюсь, что есть сущность Алгоритм.
Илу у математиков - Формула )) IMHO
...
Рейтинг: 0 / 0
21.02.2013, 14:52:34
    #38160814
javapecker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача ООП
Alexey123,
я не совсем втыкаю в связь кредита с алгоритмом расчета
...
Рейтинг: 0 / 0
21.02.2013, 14:53:00
    #38160816
javapecker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача ООП
Petro123,
есть такая сущность, паттерн Strategy
...
Рейтинг: 0 / 0
21.02.2013, 14:56:15
    #38160822
Alexey123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача ООП
javapecker, КРЕДИТ для расчёта периодов и платежей по периодам, пользуется АЛГОРИТМом.
...
Рейтинг: 0 / 0
21.02.2013, 14:57:21
    #38160826
javapecker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача ООП
Alexey123,
так я и спрашиваю, как он им пользуется
...
Рейтинг: 0 / 0
21.02.2013, 15:02:37
    #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
21.02.2013, 15:06:02
    #38160853
javapecker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача ООП
Alexey123,
то есть у вас алгоритм сам определяет как считать, в зависимости от типа кредита? Может было бы удобнее сделать поле в кредите, и инициализировать его нужным алгоритмом? вместо поля тип кредита, потому что кредиты только алгоритмами и отличаются.
...
Рейтинг: 0 / 0
21.02.2013, 15:13:44
    #38160867
Alexey123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача ООП
javapecker, можно и так. Разница только в месте создания объекта, у меня в методе по требованию, а вы предлагаете в конструкторе КРЕДИТа. Кажись это и правда паттерн "Стратегия" ))
...
Рейтинг: 0 / 0
21.02.2013, 15:19:33
    #38160878
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача ООП
javapeckerPetro123,
есть такая сущность, паттерн Strategy
ты не перепутал паттерны и Бизнес-сущности?
Часто UML строят вообще не программисты.
А у нас уже пошли код писать)
...
Рейтинг: 0 / 0
21.02.2013, 15:23:25
    #38160886
Alexey123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача ООП
Petro123,
а какой ваш подход к решению задачи?
...
Рейтинг: 0 / 0
21.02.2013, 15:27:14
    #38160897
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача ООП
Alexey123Petro123,
а какой ваш подход к решению задачи?
Сначала модель в терминах UML
Т.е. что сохраняется в БД - т.е. - данные.
Откуда потом растёт маппинг в ОРМ.
Что и куда вычислять на этих данных можно придумать миллион.
...
Рейтинг: 0 / 0
21.02.2013, 15:27:29
    #38160898
javapecker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача ООП
Petro123,
не перепутал
...
Рейтинг: 0 / 0
21.02.2013, 15:31:14
    #38160904
Alexey123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача ООП
Petro123,

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

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


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