Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re^4: Altering the inheritance path of an object

by remiah (Hermit)
on Sep 29, 2012 at 05:38 UTC ( #996338=note: print w/ replies, xml ) Need Help??


in reply to Re^3: Altering the inheritance path of an object
in thread Altering the inheritance path of an object

update: my ascii drawing corrupt with threaded view. please have a look from single article view.

Thanks for reply. This is too interesting for me.

I used extends here, not with, like you always do. Roles, mixins are new to me.
I guess this picture vaguely like this.


                 request from client
             +------------------------->            pipeline
                        +------------------------------------------------------------------+
                        |                                                                  |
                        |                                                                  |
                        |                            r                                     |
                        |                    +-------------+                               |
                        |        +-----------+-+           v            +----+             |
                        |        |  master db  |        +--+--+              |             |
                        |        +-------------++--+    | csv |+--+          v             |
                        |                     r|  r|    +-----+   |       r r  r           |
                        |        +-------------|---|---------+    |r      r r  r r         |
                        |        |  tempral db |   |         |    |          +             |
    client              |        |             v   v         <----+          v             |
                        |        |         person    company |             generic object  |
                        |        +-------------+----+--+---+-+             with            |
                        |     r  +-------------|----|--|---|--+            various         |
                        |    +-----+ csv  <----+r   |  |   |  |            combination     |
                        |    |r  |                  |r |r  |r |            of roles        |
                        |    +-----> tab delimited <+  |   |  |              +             |
                        |    |r  |                     |   |  |              |             |
                        |    +-----> html     <--------+   |  |              |             |
                        |    |r  |                         |  |              |             |
                        |    +-----> excel    <------------+  |          <---+             |
                        |        +----------------------------+                            |
              <-------+ |                                                                  |
                        |                                                                  |
So, your generic object should know the dependencies of roles to use, plugging them , create the output. Dependencies varies from case by case, you have to use roles dynamically, with apply_all_roles.

From client, it will just look like google api, tell the pipe line parameters needed with HTML header, or sending XML.


Comment on Re^4: Altering the inheritance path of an object

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://996338]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (15)
As of 2015-07-06 19:00 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (80 votes), past polls