|
|
|
Задача ООП
|
|||
|---|---|---|---|
|
#18+
Доброго дня. Изучаю java и ООП. Вроде всё понятно но туплю при применении ООП в предметной области. Как с вашей точки зрения правильно спроектировать классы для следующей задачи. Помогите просто накидать структуру классов, какие и зачем. Задача выдачи кредита. 1. Расчёт предварительного графика выплат по месяцам Входными данными являются процент, сумма, срок кредита и т.д. Выходными - график по периодам (месяцам) с указанием суммы платежа по процентам и по погашению остатка. 2. Выдача кредита 3. Приём платежей по кредиту (человек может в один период(месяц) заплатить два раза). 4. Расчёт суммы платежа в текущем периоде (с учётом задолженности) 5. При расчёте могут использоваться разные алгоритмы (бывают Аннуитетные платежи (одинаковые) и Дифференцированные платежи (платежи уменьшаются)) Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2013, 13:49:07 |
|
||
|
Задача ООП
|
|||
|---|---|---|---|
|
#18+
Alexey123, начните с сущностей (кредит, платеж, плательщик и т.д), рассмотрите их взаимосвязи, варианты использования вашей системы, и наверное уже потом можно будет говорить о классах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2013, 13:56:24 |
|
||
|
Задача ООП
|
|||
|---|---|---|---|
|
#18+
Меня смущает следующее: Если выделить сущность КРЕДИТ и ПЕРИОД (в смысле период платежа - месяц). В первом пункте нужно рассчитать график платежей, т.е. КРЕДИТ должен создать массив ПЕРИОДов. Где должен находится алгоритм расчёта стоимости платежа в конкретном периоде. С одной стороны это задача ПЕРИОДа (рассчитать свою стоимость), с другой данные для расчёта берутся из КРЕДИТа. Получается сущность КРЕДИТ содержит массив сущностей ПЕРИОД, а ПЕРИОД содержит ссылку на КРЕДИТ. Композиция в обе стороны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2013, 14:06:49 |
|
||
|
Задача ООП
|
|||
|---|---|---|---|
|
#18+
Alexey123, В сущности АЛГОРИТМ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2013, 14:15:53 |
|
||
|
Задача ООП
|
|||
|---|---|---|---|
|
#18+
Лагман, спасибо за новую мысль)) сейчас накидаю диаграмму классов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2013, 14:21:54 |
|
||
|
Задача ООП
|
|||
|---|---|---|---|
|
#18+
Грубая структура, скорее всего, должна быть такой: СУЩНОСТИ: кредит, период; ИНТЕРФЕЙС (или абстрактный класс) для алгоритма генерации, ИНТЕРФЕЙС для алгоритма квитовки; + отдельные классы - реализации алгоритмов (EJB, если это J2ee приложение) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2013, 14:25:35 |
|
||
|
Задача ООП
|
|||
|---|---|---|---|
|
#18+
ivanra, ИНТЕРФЕЙС - это уже реализация. Рановато. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2013, 14:39:09 |
|
||
|
Задача ООП
|
|||
|---|---|---|---|
|
#18+
Petro123, да и классы рановато ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2013, 14:40:09 |
|
||
|
Задача ООП
|
|||
|---|---|---|---|
|
#18+
Вот что набросал. Курсивом абстрактные методы и класс. Подчеркнуты статические методы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2013, 14:44:02 |
|
||
|
Задача ООП
|
|||
|---|---|---|---|
|
#18+
я очень сомневаюсь, что есть сущность Алгоритм. Илу у математиков - Формула )) IMHO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2013, 14:52:02 |
|
||
|
Задача ООП
|
|||
|---|---|---|---|
|
#18+
Alexey123, я не совсем втыкаю в связь кредита с алгоритмом расчета ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2013, 14:52:34 |
|
||
|
Задача ООП
|
|||
|---|---|---|---|
|
#18+
Petro123, есть такая сущность, паттерн Strategy ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2013, 14:53:00 |
|
||
|
Задача ООП
|
|||
|---|---|---|---|
|
#18+
javapecker, КРЕДИТ для расчёта периодов и платежей по периодам, пользуется АЛГОРИТМом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2013, 14:56:15 |
|
||
|
Задача ООП
|
|||
|---|---|---|---|
|
#18+
Alexey123, так я и спрашиваю, как он им пользуется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2013, 14:57:21 |
|
||
|
Задача ООП
|
|||
|---|---|---|---|
|
#18+
javapecker, думаю как-то так: Код: java 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2013, 15:02:37 |
|
||
|
Задача ООП
|
|||
|---|---|---|---|
|
#18+
Alexey123, то есть у вас алгоритм сам определяет как считать, в зависимости от типа кредита? Может было бы удобнее сделать поле в кредите, и инициализировать его нужным алгоритмом? вместо поля тип кредита, потому что кредиты только алгоритмами и отличаются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2013, 15:06:02 |
|
||
|
Задача ООП
|
|||
|---|---|---|---|
|
#18+
javapecker, можно и так. Разница только в месте создания объекта, у меня в методе по требованию, а вы предлагаете в конструкторе КРЕДИТа. Кажись это и правда паттерн "Стратегия" )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2013, 15:13:44 |
|
||
|
Задача ООП
|
|||
|---|---|---|---|
|
#18+
javapeckerPetro123, есть такая сущность, паттерн Strategy ты не перепутал паттерны и Бизнес-сущности? Часто UML строят вообще не программисты. А у нас уже пошли код писать) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2013, 15:19:33 |
|
||
|
Задача ООП
|
|||
|---|---|---|---|
|
#18+
Petro123, а какой ваш подход к решению задачи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2013, 15:23:25 |
|
||
|
Задача ООП
|
|||
|---|---|---|---|
|
#18+
Alexey123Petro123, а какой ваш подход к решению задачи? Сначала модель в терминах UML Т.е. что сохраняется в БД - т.е. - данные. Откуда потом растёт маппинг в ОРМ. Что и куда вычислять на этих данных можно придумать миллион. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2013, 15:27:14 |
|
||
|
Задача ООП
|
|||
|---|---|---|---|
|
#18+
Petro123, не перепутал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2013, 15:27:29 |
|
||
|
Задача ООП
|
|||
|---|---|---|---|
|
#18+
Petro123, Сейчас попробую нарисовать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2013, 15:31:14 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38160797&tid=2129931]: |
0ms |
get settings: |
14ms |
get forum list: |
28ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
71ms |
get topic data: |
20ms |
get forum data: |
5ms |
get page messages: |
113ms |
get tp. blocked users: |
4ms |
| others: | 297ms |
| total: | 566ms |

| 0 / 0 |
