Jump to content
php.lv forumi

Klase ar static funkcijām?


Rincewind

Recommended Posts

Teiksim ir kaudze ar funkcijām kuras darbojas ap vienu un to pašu, bet objekts no viņām gluži nesanāk (objekts manā skatījumā ir kaut kāda struktūra kurai ir savs iekšējais stāvoklis ap kuru tad arī notiek visa darbošanās). Vai nav vērts apvienot viņas visas vienā klasē kā static?

Kādi plusi izņemot mazāk problēmas ar namespace, kādi mīnusi, un galvenais - kapēc es tadu lietu svešā kodā neredzu?

Link to comment
Share on other sites

Tā kā savā FW izmantoju klašu autoload funkcionalitāti, tad statiskās funkcijas izmantoju, lai bez include jebkurā vietā varētu izsaukt jebkuru funkciju.

Vienkārši saucu:

 

Text::safeHTML($s);

 

Pārseris redz, ka klase Text neeksistē un griežas pie autoload funkcionalitātes. Tā ielādē failu ar klasi un izsauc statisko funkciju.

Ērti programmēt, jo nav jāuztraucas par izklūdošanu.

Link to comment
Share on other sites

Vienīgais bonuss ir tāds, ka kods ir loģiskāk organizēts. Kāpēc tu to neredzi citur? Labs jautājums, kādu kodu skaties? :)

Nu CodeIgniter piemēram, visnotaļ objekt-orientēts utt. Visi defaultie helperi ir parasta kaudze ar funkcijām. Jābūt tak kaut kādam iemeslam kapēc tur "header();" vietā nav "html::header();"?

Link to comment
Share on other sites

Arguments, ka OOP ir lēnāks, neiztur kritiku, tad ir jādomā vai nevajag programmēt asamblerā vai vismaz C++.

 

Tas, ka vienā vai otrā FW ir kaut kas neefektīvs ir tāpēc, ka Opensource FW-us ne vienmēr programmē paši lielākie šīs nozares Guru un ne visur māks, spēj un var ieturēt optimālu FW struktūru. No OS FW-iem var daudz ko mācīties, bet ne viss tur ir ne tuvu optimāli realizēts.

Link to comment
Share on other sites

Arguments, ka OOP ir lēnāks, neiztur kritiku, tad ir jādomā vai nevajag programmēt asamblerā vai vismaz C++.

 

Tas, ka vienā vai otrā FW ir kaut kas neefektīvs ir tāpēc, ka Opensource FW-us ne vienmēr programmē paši lielākie šīs nozares Guru un ne visur māks, spēj un var ieturēt optimālu FW struktūru. No OS FW-iem var daudz ko mācīties, bet ne viss tur ir ne tuvu optimāli realizēts.

Tad būtībā izmantot funkciju klases (bez klases objekta veidošanas) nav slikta doma un nekādu vērā ņemamu mīnusu tur nav?

 

Edit: nez vai vispār OOP būs lēnāks ja klasei netiek taisīts objekts?

Edited by Rincewind
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...