2010-07-13 3 views
1

맞춤 빌드 된 OO 전자 상거래 애플리케이션을 유지 관리하고 있습니다. 원래 디자이너는 다음과 같은 가정을 몇 가지 만들었습니다. - 세 종류의 판매 세가 존재하지 않습니다. (주, 전국 &) - 판매 세의 각 유형은 단 하나의 비율 만 가질 수 있습니다. - 각 주에는 세 가지 세금 유형 중 하나가 지정됩니다.oo 프로그램과 비즈니스 규칙 변경

그는 더 잘 알았어 야했지만 당시로서는 합리적으로 보였습니다 ... 갑자기 각 주마다 자체 "조화 된"세율이 적용됩니다.

문제점 : 오브젝트 스택을 3 단계 아래로 내려 가면 금액과 세금 유형만 사용하는 세금 계산 방법이 있습니다. 이제는 거의 이해할 수 없거나 배울 예산이 거의없는 아주 큰 구조 조정 작업에 직면했습니다.

저는 상태 코드를 세션 값에 채우고 하드 코딩 된 계산을 수행하려고합니다. 다른 끝. (1 주일)

나는 상상할 수 있습니까? 아니면 OO 응용 프로그램이 더 큰 학습 곡선을 가지고 있으며 비즈니스 규칙이 예기치 않게 돌아설 때 유지하기가 어려울 수 있습니까?

답변

0

... 다소

내 상상인가, 아니면 OO 응용 프로그램은 더 큰 학습 곡선을해야합니까. 커브가 더 가파르다 고 생각하지만 기능 코드로 작성된 앱보다 훨씬 짧습니다. 객체 지향 응용 프로그램은 패턴을 따르고 코딩 표준을 준수하며 구조 또는 프레임 워크를 응용 프로그램에 추가 할 가능성이 큽니다. 기능 코드는 최종 결과가 작동하는 한 오히려 기꺼이 할 수 있습니다. 이렇게하면 개발자가 스파게티 코드 사고를 피할 수있는 환경이 조성됩니다.

... 비즈니스 규칙이 예기치 않게 돌아설 때 유지 관리가 어려울 수 있습니다.

에 따라 다릅니다. 그러나 이것은 사용 된 코딩 스타일에 상관없이 사실 일 수 있습니다. 귀하의 경우, 이것은 사실로 보일 것입니다. 그러나 OOP와 패턴은 역사적으로 숙련 된 프로그래머가 스파게티, 기능적 코드로 작성된 응용 프로그램을 유지하는 것을 더 쉽게 만들어주었습니다.

+0

"다소 커브가 더 가파르다 고 생각하지만 기능 코드로 작성된 앱보다 훨씬 짧습니다." 험한 것보다? –

+0

OO 앱을 이해하는 것이 더 어렵지만 그렇게하는 데 더 적은 시간이 걸리는 것을 의미합니다. 기능적 유형의 앱은 즉시 이해할 수는 없지만 완전히 포용하려면 더 많은 시간이 걸릴 수 있습니다. 두 경우 모두 개발자가 제품에 대한 지식이 없다고 가정합니다. –

관련 문제