Pravilna enkapsulacija i malo vise od toga... Kako i zasto?
19.07.2011. u 21:30 · pre 185 meseci
#1
Napravio sam mali timer! Html, css, js. Nista preterano posebno. Timer ucita json file, odredi koliko ima vremenskih stavki i polako odbrojava jednu po jednu stavku kako ide vreme. Odbrojavanje se i prikazuje u jednom <div>.
To lepo radi samo za sebe, kao otvoren tab u browseru.
Ja bih hteo to da nekako enkapsuliram, moduliram, sabijem u jednu klasu, reuse code... Upotrebite izraz koji vam je drag
Hocu ovo:
Sad nailazimo na moj problem:
1. klasa Timer nije samostalna! Koristi mnoge globalno definisane funkcije: loadFile, rndID, isArray, isObject...
2. koristi jos 3 manje klase Sound, TimerObject i View... koje instancira u sebi.
3. tu je i input_file() koja se poziva kad se ucitava file...
Ja bih zeleo nekako SVE to, sve sto je potrebno za taj timer da upakujem u nesto i da na kraju dobijem var timer = new Timer(); ili makar priblizno jednostavno.
Pitanja:
1. Da li je to moguce?
2. Kako?
3. Sta je najpravilnije, najbolje, najzahvalnije za koriscenje/odrzavanje koda...?
Upravo gledam ovo:
Ali ne zelim da pocnem refactoring (kasapljenje) koda pre nego sto se posavetujem ovde.
To lepo radi samo za sebe, kao otvoren tab u browseru.
Ja bih hteo to da nekako enkapsuliram, moduliram, sabijem u jednu klasu, reuse code... Upotrebite izraz koji vam je drag
Hocu ovo:
Code:
var timer = new Timer();
document.body.appendChild(timer.html_elem);
I da tako mogu da napravim 50 timera ako pozelim.var timer = new Timer();
document.body.appendChild(timer.html_elem);
Sad nailazimo na moj problem:
1. klasa Timer nije samostalna! Koristi mnoge globalno definisane funkcije: loadFile, rndID, isArray, isObject...
2. koristi jos 3 manje klase Sound, TimerObject i View... koje instancira u sebi.
3. tu je i input_file() koja se poziva kad se ucitava file...
Ja bih zeleo nekako SVE to, sve sto je potrebno za taj timer da upakujem u nesto i da na kraju dobijem var timer = new Timer(); ili makar priblizno jednostavno.
Pitanja:
1. Da li je to moguce?
2. Kako?
3. Sta je najpravilnije, najbolje, najzahvalnije za koriscenje/odrzavanje koda...?
Upravo gledam ovo:
Code:
(function () {
// ... all vars and functions are in this scope only
// still maintains access to all globals
}());
i ovo:
var MODULE = (function () {
var my = {},
privateVariable = 1;
function privateMethod() {
// ...
}
my.moduleProperty = 1;
my.moduleMethod = function () {
// ...
};
return my;
}());
(function () {
// ... all vars and functions are in this scope only
// still maintains access to all globals
}());
i ovo:
var MODULE = (function () {
var my = {},
privateVariable = 1;
function privateMethod() {
// ...
}
my.moduleProperty = 1;
my.moduleMethod = function () {
// ...
};
return my;
}());
Ali ne zelim da pocnem refactoring (kasapljenje) koda pre nego sto se posavetujem ovde.
Potpis
I'm not in this world to live up to your expectations and you're not in this world to live up to mine.
Re: Pravilna enkapsulacija i malo vise od toga... Kako i zasto?
Re: Pravilna enkapsulacija i malo vise od toga... Kako i zasto?