Rajeshyadav12 Ответов: 1

Хотите рефакторинг в C# код используется твердое "о" принципы


want to write this code in simplified way using SOLID principles. Any help would be highly appreciated.Can i implement inheritance to do this.


void CalculateTaxAndRewardPoints()
        {
            if (state == TEXAS)
            {
                rate = TX_RATE;
                amt = baseRate * TX_RATE;
                calc = 2 * basis(amt) + extra(amt) * 1.05;
            }
            else if ((state == OHIO) || (state == MAINE))
            {
                if (state == OHIO)
                    rate = OH_RATE;
                else
                    rate = MN_RATE;
                amt = baseRate * rate;
                calc = 2 * basis(amt) + extra(amt) * 1.05;
                if (state == OHIO)
                    points = 2;
            }
            else
            {
                rate = 1;
                amt = baseRate;
                calc = 2 * basis(amt) + extra(amt) * 1.05;
            }
        }


Что я уже пробовал:

void CalculateTaxAndRewardPoints()
        {
            while (state == TEXAS)
            {
                rate = TX_RATE;
                amt = baseRate * TX_RATE;
                calc = 2 * basis(amt) + extra(amt) * 1.05;
            }
            do while ((state == OHIO) || (state == MAINE))
            {
                while (state == OHIO)
                    rate = OH_RATE;
                else
                    rate = MN_RATE;
                amt = baseRate * rate;
                calc = 2 * basis(amt) + extra(amt) * 1.05;
                do while (state == OHIO)
                    points = 2;
            }
            Do while
            {
                rate = 1;
                amt = baseRate;
                calc = 2 * basis(amt) + extra(amt) * 1.05;
            }
        }

1 Ответов

Рейтинг:
0

Graeme_Grant

Прочтите эту статью CP (с примерами кода) о том, как реализовать принцип Open/Closed: Принципы солидной архитектуры с использованием простых примеров C# [^]