Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Напиши абстракцию со стандартным интерфесом 17.01.03 13:31 Число просмотров: 1700
Автор: amirul <Serge> Статус: The Elderman
|
И пиши ядро основываясь на них. После этого переписать реализацию работы с базой, будь то mSQL, PostgreSQL, MySQL, бинарная база (в смысле файл со своим форматом) или какой-то динамический массив можно будет переписать практически безболезненно для другого кода. Достаточно хорошо я не знаю ни одного из перечисленных языков - так, верхов нахватался, но уверен, что реализовать концепцию виртуальных функций можно в каждом из них. Другой вопрос производительность, но это ведь не поисковый сервер и обслуживать тысяч юзеров одновременно не придется (по крайней мере я бы не хотел попасть в такой чат) - так что должен вытянуть.
Это не обязательно должны быть виртуальные функции в CPP-шном понимании, покажу пример на C, который на мой взгляд, практически не влияет на эффективность и в то же время дает нужную гибкость.
#define InitializeDB ChatOpenBinaryDB
//#define InitializeDB ChatConnectPostgreSQL
//#define InitializeDB ChatConnectMySQL
//...
#define GetLine(x) ChatBinaryDBLine(x)
//...
После этого использовать стандартные названия, а использоваться будет какой-либо конкретный вариант.
Можно и иначе, но массивы указателей на функции по-мойму слишком круто для скриптовых языков.
ЗЫ: Прошу прощения, если сморозил глупость, выучить достаточно глубоко языки все не хватает ни времени, ни желания, не надобности. Но тот же Perl или PHP (asp не люблю) думаю достаточно мощные, чтоб позволить сделать нечто подобное.
|
|
|