Классы и фабрики. Как разобрать и собрать объект с...

Post on 14-Nov-2014

362 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

Алексей Бахирев «Классы и фабрики. Как разобрать и собрать объект с наследованием на прототипах» Frontend Dev Conf'14 www.fdconf.by

TRANSCRIPT

Классы и фабрикиКак разобрать и собрать объект с наследованием на прототипах

Алексей Бахиреввеб-разработчик, i-Free

function A() {...

}

A.prototype.render = function() {...

};

A.prototype.left = function() {...

};

function A() {...

}

A.prototype.render = function() {...

};

A.prototype.render = function() {...

};

function A() {...

}

A.prototype.render = function() {...

};

A.prototype.render = function() {...

};

function A() {...

}

A.prototype.render = function() {...

};

A.prototype.render = function() {...

};

function A() {...

}

A.prototype.render = function() {...

};

A.prototype.render = function() {...

};

function A() {...

}

A.prototype.render = function() {...

};

A.prototype.render = function() {...

};

function A() {...

}

A.prototype.render = function() {...

};

A.prototype.render = function() {...

};

(Список всех свойств + Список всех методов) х Списко кого наследовать = Любой объект

factoryObject([ "skin", "dimensions", "coordinates", "physics", "use", "fuel", "type", "attack", "brain"], [ "transport"], { params: params, className: "Transport", type: "audi"});

{}

for(var group in parameters) { … Наследуем группы свойств}

for(var method in prototypes) { … Наследуем группы методов}

limit: { x: 2000, y: 2000, speed: { x: 10, y: 10 }},physics: { time: 0.02, meter: 20, gravitation: 0, frictionAir: 1},grid: { step: 100, grid: []},

left: function() { ...},

right: function() { ...},

attack: function() { ...},

factoryObject([ "skin", "dimensions", "coordinates", "physics", "use", "fuel", "type", "brain"], [ "transport"], { params: params, className: "Transport", type: "audi"});

Создание новых объектов изменяя списком свойств и прототипов

factoryObject([ "skin", "dimensions", "coordinates", "physics", "attack", "type"], [ "transport“, "weapon"], { params: params, className: "Transport", type: "panzer"});

limit: { x: 2000, y: 2000, speed: { x: 10, y: 10 }},physics: { time: 0.02, meter: 20, gravitation: 0, frictionAir: 1},grid: { step: 100, grid: []},

for(var group in parameters) {

}

Авто-документация и Авто-генерация (например CSS)

JSON.stringify();

Избыточность связей

Реестр объектов

PrototypesJSON

PrototypesJSON

- Не классы, а фабрики- Все свойства в общем списке- Все прототипы в общем списке- Никаких зависимостей объектов и ссылок- Прототипы восстанавливаем по списку

alexey-bakhirev@yandex.ruhttp://habrahabr.ru/users/bakhirev/

http://www.linkedin.com/pub/alexey-bakhirev/89/838/7b0

Вопросы?

top related