Swear Posted April 6, 2012 Report Share Posted April 6, 2012 Tātad cenšos uz PHP Klasēm uztaisīt tādu takā sistēmu, kurai var veidot pluginus. pagaidām sarakstīju kaut ko šādu: http://pastebin.com/BcY8v6Tj galvenā doma ir tāda, pats kodols parāda izskatu utt, arī iekš <title> būtu nepieciešams iekļaut palaistā plugina nosaukumu. vēl ir nepieciešams izvadīt visu pieejamo pluginu sarakstu (katrs stāvēs atsevišķā failā, un cik noprotu visus vajadzēs inklūdot). iesākumam - kā lai definē to title katram pluginam un izvelk, pie pluginu saraksta? man vēl nav nekādas sapraššanas par mainīgo pieejamību (public/private/static), tad kāds būtu pareizākais risinājums? Quote Link to comment Share on other sites More sharing options...
101111 Posted April 6, 2012 Report Share Posted April 6, 2012 Būtu jādomā šādi: ir kaut kāds interfeiss kuru implementē katrs plugins. Piemēram interfeiss varētu saturēt metodes getTitle(), kas agriež plugina nosaukumu un run(), kas veic plugina paredzēto loģiku. Par pluginu saraksta sakolekcionēšanu, pluginu instancēšanu un tamlīdzīgiem darbiem būtu jābūt atbildīgai citai klasei - pluginu menedžerim, kurš zinot kāds ir plugina interfeiss varētu darboties ar pluginiem. Piemēram zinot ka plugina nosaukumu var izdabūt ar metodi getTitle(), pluginu menedžeris varētu cikloties cauri visām pluginu instancēm un katrai izsaukt šo metodi, galu galā iegūstot sarakstu ar pluginu nosaukumiem. Tavā iedotajā kodā, klase "core" aptuveni atbilst pluginu menedzerim, bet pašiem pluginiem nevajadzētu būt nekādā veidā saistītiem ar to. Quote Link to comment Share on other sites More sharing options...
larvae Posted April 11, 2012 Report Share Posted April 11, 2012 Tīri sakarīga atbilstošā literatūra šajā sakarā - http://martinfowler.com/articles/injection.html Quote Link to comment Share on other sites More sharing options...
daGrevis Posted April 11, 2012 Report Share Posted April 11, 2012 Pats kko tādu pirms kāda laika prasīju... :) Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.