oo программа против изменений бизнес-правил - PullRequest
1 голос
/ 14 июля 2010

Я поддерживаю пользовательское приложение для электронной коммерции с высокой степенью OO. Оригинальный дизайнер сделал несколько предположений, таких как: - никогда не будет более 3-х видов налога с продаж (государственный, национальный и hamonized) - каждый вид налога с продаж может иметь только одну ставку. - каждому штату будет присвоен один из трех типов налогов.

Он должен был знать лучше, но я думаю, это казалось разумным в то время ... Внезапно каждый штат устанавливает свою собственную "гармонизированную" налоговую ставку.

Проблема: 3 уровня вниз по стеку объектов, у меня есть метод расчета налога, который использует только сумму и тип налога. Теперь передо мной стоит задача довольно большой реструктуризации приложения, которую я плохо понимаю или у которой мало средств для изучения

Я склонен вставлять код состояния в значение сеанса и выполнять жестко запрограммированные вычисления на другом конце. (1 день) вместо реструктуризации (1-2 недели ??)

Это мое воображение или OO-приложения имеют большую кривую обучения и их может быть сложнее поддерживать, когда бизнес-правила принимают неожиданный оборот?

1 Ответ

0 голосов
/ 14 июля 2010

Это мое воображение или OO-приложения имеют большую кривую обучения ...

В некоторой степени.Я считаю, что кривая круче, но намного короче, чем приложение, встроенное в функциональный код.OO-приложение с большей вероятностью будет следовать шаблонам, придерживаться какого-то стандарта кодирования и добавлять структуру или структуру в приложение.В то время как функциональный код гораздо свободнее делать, как ему угодно, если конечный результат - это рабочий продукт.Это создает среду, готовую для разработчика (ов), чтобы перейти к менталитету спагетти-кода.

... а может быть сложнее поддерживать, когда бизнес-правила принимают неожиданный оборот?

Зависит.Но это может быть правдой независимо от используемого стиля кодирования.В вашем случае это будет выглядеть правдой.Однако исторически сложилось, что ООП и шаблоны облегчают опытным программистам поддержку приложения по сравнению с приложением, написанным полностью из спагетти, функционального кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...