Я разрабатываю конвертер, который конвертирует вес, длину и объем.Я предпочитаю описывать это ООП способом, однако я не уверен насчет:
1. Каким должен быть конвертер класса:?Тип (вес, длина, объем)или единица (галлон, унция, метр ..)?
2. Поскольку значения from и to различаются для разных типов, у меня не может быть метода "convert" для применения полиморфизма, но верно ли это?
3.Пожалуйста, также спроектируйте драйверкод
4. преобразование в основном один лайнер, стоит ли ставить его в рамках ООП?Я вижу, что ООП - это способ оставаться организованным и гибким
Спасибо.
Вот как это выглядит сейчас:
ConverterBase(object) # with attributes type, from, to
if type == 'weight':
if from == 'kg' and to == 'lb':
kg_to_lib
elif from == 'lb' and to == 'g':
lb_to_g
if type == 'length':
if from == 'mile' and to =='km':
milt_to_km
elif from == 'm' and to == 'feet':
m_to_feet
if type == 'volume'
if from =='oz' and to == 'gallon':
oz_to_gallon
if from == 'liter' and to == 'oz':
liter_to_oz