Создание независимых библиотек
#1

Ищу идеи как можно создать независимые библиотеки от сохранения данных в базу данных.

Хочу сделать системы мода отдельно в библиотеках, так чтобы сами библиотеки не требовали доступа к базе данных (MySQL), например рассмотрим системы домов.

При создание дома CreateHouse(...), записывать нужные данные в таблицу.

В моде:
PHP Code:
new id CreateHouse(...)
if (
id != INVALID)
{
    
mysql_format(...)
    
mysql_tquery(...)

В библиотеке (house.inc):
PHP Code:
stock CreateHouse(...)
{
    
// create here
    
return id;

Какими еще способами можно отловить создание или изменения данных, может у вас есть свои варианты по сложнее?
Reply
#2

Доступ к БД полюбому нужен будет. хоть параметром, но объект MySQL нужно будет передавать.
В стандартном Pawn только так, как ты написал.

Классов, структур нет же.
Reply
#3

Подключение к MySQL выносишь в отдельную библиотеку и снабжаешь её всеми вспомогательными функциями (типа получения ID подключения и т.п.). В остальных библиотеках уже работаешь с этими функциями.

Полностью независимые библиотеки создать не получится, как бы ты не пытался, ибо практически во всех системах есть что-то общее и часто эти системы должны "общаться" между собой. Можно лишь древовидную систему зависимостей реализовать и не более.
Reply
#4

Да это понятно все, мне необходимо было именно сами библиотеки независимыми от MySQL сделать, я уже реализовал, то что хотел, просто на тот момент меня интересовали другие варианты, как на уровне мода можно сохранение сделать.
Reply
#5

Ну так поделился бы с народом

А на уровне мода сохранение сделать не получится (ну чтоб прямо вообще никуда данные не выносить из памяти). В лучшем случае, файлы или SQLite использовать, но и тут получится зависимость.
Reply
#6

Quote:
Originally Posted by Eims
View Post
Ну так поделился бы с народом
Все осталось так же, как и в первом посте описано.

При создании/изменении дома из мода если это нужно производиться сохранение в базу данных.

Есть ряд функций HouseCreate, SetHouseData, SetHouseDataInt, SetHouseDataFloat и их аналоги, например SetHousePos, SetHouseType и другие.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)