divyang4481 / mipt-hw

Automatically exported from code.google.com/p/mipt-hw
0 stars 0 forks source link

task19 Database (Яковенко) #162

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
iakovenko_pavel/task19_Database

Original issue reported on code.google.com by iakovenk...@gmail.com on 15 Dec 2012 at 7:59

GoogleCodeExporter commented 9 years ago
1. Warnings:
main.cpp: In member function ‘void TStudent::FromString(char*)’:
main.cpp:41: warning: format ‘%s’ expects type ‘char*’, but argument 3 
has type ‘char (*)[30]’
main.cpp:41: warning: format ‘%s’ expects type ‘char*’, but argument 4 
has type ‘char (*)[50]’
main.cpp:41: warning: format ‘%s’ expects type ‘char*’, but argument 3 
has type ‘char (*)[30]’
main.cpp:41: warning: format ‘%s’ expects type ‘char*’, but argument 4 
has type ‘char (*)[50]’

2. Нелогично функцию Interface делать частью 
класса TDataBase. Ведь это бизнес-логика.
Поясню по-другому:
Нужно стараться выделять в программе 
модули, отвечающие за какую-то узкую 
функциональность.
А связи между модулями нужно делать так, 
чтобы какой-либо модуль можно было легко 
заменить, не изменяя остальные.

Например: у Вас есть модуль работы с базой 
данных и модуль взаимодействия с 
интерфейсом пользователя.
Если вдруг захотели переделать интерфейс, 
меняете лишь модуль интерфейса. Захотели 
перевести базу на MySQL - соответственно 
меняете модуль БД. При такой архитектуре не 
придется менять код всей программы и 
отлаживать заново всю функциональность.

В остальном все супер. Решение принято.

Original comment by aivyu...@gmail.com on 22 Dec 2012 at 1:40