IWETHEY v. 0.3.0 | TODO
1,095 registered users | 0 active users | 0 LpH | Statistics
Login | Create New User
IWETHEY Banner

Welcome to IWETHEY!

New Epicycles
The final leap of logic is that you are then free to distribute that class with its IF statements to ONE customer


But what if other customers need the same IF? Copy-and-paste? That is what we were trying to avoid to begin with.

This is one of the central tenets of OOP: "separate the things that change from the things that stay the same.


Task-ness tends to stay the same more than noun taxonomies or noun-based grouping.

By the way, rather than say "if customer==b then..." better indirection is "if customer.hasFeatureX then...". However, one should wait until about 3 customers use that feature before making it a column.

________________
oop.ismad.com
New Re: Epicycles
By the way, rather than say "if customer==b then..." better indirection is "if customer.hasFeatureX then...". However, one should wait until about 3 customers use that feature before making it a column.
Better is a relative term. By adding a new feature (or when changing it to a column from an IF) you've just made a branchable change in a monolithic file. Have A Nice Day, the build manager will be around to see you later today.

Whereas adding a new decryption algorithm/parser/whatever in my setup only affects that bit and that bit only.
Regards,

-scott anderson

"Welcome to Rivendell, Mr. Anderson..."
New Once more with feeling
I wrote:

> The final leap of logic is that you are then free to
> distribute that class with its IF statements to ONE customer

and you replied:

> But what if other customers need the same IF?

Then, again, you are free (not forced) to distribute to them. Under your scheme, there is no freedom--you force it upon all, since there is *no* separation between what changes and what stays the same.

> Copy-and-paste?

I think you're still thinking:

customer = get_customer()\nif customer!id == 'a':\n    [big block of code]\nelse if customer!id =='b':\n    [same big block of code]\nelse if customer!id =='c':\n    [another big block of code]\n...


That's not composition. Composition says:

customer = get_customer()\ncustomer.handler.do()


The only "copy-and-paste" might be in a config file: one atom which reads "handler = customHandler" instead of "handler = default" (or even better, no line at all for the default).

Verstehen wir uns?
"There's a set of rules that anything that was in the world when you were born is normal and natural. Anything invented between when you were 15 and 35 is new and revolutionary and exciting, and you'll probably get a career in it. Anything invented after you're 35 is against the natural order of things."

Douglas Adams
     Re: Login checks and declarative processing - (admin) - (130)
         Re Re: Login checks and declarative processing - (tablizer) - (129)
             Declarative languages can easily be turing complete - (ChrisR) - (9)
                 I am assuming he means XML-like -NT - (tablizer) - (8)
                     There are a multitude of XML based languages.... - (ChrisR) - (7)
                         If your config files are TC, then why have 2 langs? -NT - (tablizer) - (5)
                             Do you really have to ask? - (ChrisR) - (2)
                                 TC != Easy -NT - (tablizer) - (1)
                                     Exactly. - (ChrisR)
                             One's a hammer, the other is a screwdriver. -NT - (admin)
                             As an aside, that question has popped up in another context - (ChrisR)
                         BTW, Turing machines don't require much. - (ChrisR)
             Re: Login checks and declarative processing - (admin) - (118)
                 Login checks and declarative processing - (tablizer) - (117)
                     Re: Login checks and declarative processing - (admin) - (116)
                         Polymorphism - (tablizer) - (115)
                             Raison d'etre d'composition - (FuManChu) - (3)
                                 Epicycles - (tablizer) - (2)
                                     Re: Epicycles - (admin)
                                     Once more with feeling - (FuManChu)
                             So the best organization of code is... - (ChrisR) - (8)
                                 The funny thing is... - (admin) - (1)
                                     Noticed that too - (drewk)
                                 That is NOT what I said - (tablizer) - (5)
                                     Re: That is NOT what I said - (admin)
                                     Poor dichotomy on which to base your opinion of OO - (FuManChu) - (3)
                                         re: Poor dichotomy on which to base your opinion of OO - (tablizer) - (2)
                                             re: Poor dichotomy on which to base your opinion of OO - (admin) - (1)
                                                 How Lisp of you. Just add some TOP now. -NT - (tablizer)
                             Who says it's hard-coupled to a single factor? - (admin) - (101)
                                 so you say - (tablizer) - (100)
                                     Sounds like another... - (admin) - (99)
                                         Text is linear - (tablizer) - (98)
                                             Re: Text is linear - (admin) - (97)
                                                 Delt-A-Matic - (tablizer) - (96)
                                                     Re: Delt-A-Matic - (admin) - (95)
                                                         problem is treed-files, not procedural - (tablizer) - (94)
                                                             Re: problem is treed-files, not procedural - (admin) - (21)
                                                                 Re: problem is treed-files, not procedural - (tablizer) - (20)
                                                                     Re: problem is treed-files, not procedural - (admin) - (19)
                                                                         Re: problem is treed-files, not procedural - (tablizer) - (18)
                                                                             Re: problem is treed-files, not procedural - (admin) - (17)
                                                                                 misunderstanding - (tablizer) - (16)
                                                                                     Re: misunderstanding - (admin) - (15)
                                                                                         Well... I pack up my development database and... - (ChrisR)
                                                                                         How do you prime it in the first place? - (folkert) - (2)
                                                                                             I prefer Kilz myself. -NT - (Another Scott) - (1)
                                                                                                 That works well... - (folkert)
                                                                                         The file system *is* a database - (tablizer) - (9)
                                                                                             Re: The file system *is* a database - (admin) - (8)
                                                                                                 over-the-phone brain surgery - (tablizer) - (7)
                                                                                                     Re: over-the-phone brain surgery - (admin) - (6)
                                                                                                         a single command does not like databases? - (tablizer) - (5)
                                                                                                             Re: a single command does not like databases? - (admin) - (3)
                                                                                                                 Re: single command - (tablizer) - (2)
                                                                                                                     Naw... you are thinking... - (folkert)
                                                                                                                     Re: single command - (admin)
                                                                                                             Database migrations (new thread) - (admin)
                                                                                         Nit: some code does belong in a database. (sp's) -NT - (mmoffitt)
                                                             Exactly. - (FuManChu) - (71)
                                                                 Amazing, isn't it? - (admin)
                                                                 OO takes credit for sunrises even - (tablizer) - (69)
                                                                     Scheme and the Lambda Calculus - (ChrisR)
                                                                     Re: OO takes credit for sunrises even - (admin) - (60)
                                                                         No way Jose -- Gotta go to DB anyhow - (tablizer) - (59)
                                                                             Er... - (admin) - (27)
                                                                                 "Use OO because OO is faster" is the best you can do? - (tablizer) - (26)
                                                                                     Serious question - (drewk) - (2)
                                                                                         Interrelated - (tablizer) - (1)
                                                                                             Re: Interrelated - (admin)
                                                                                     Re: "Use OO because OO is faster" is the best you can do? - (admin) - (22)
                                                                                         Table != Disk - (tablizer) - (21)
                                                                                             Re: OR mappers slowing things down - (ChrisR) - (17)
                                                                                                 Re: OR mappers slowing things down - (tablizer) - (16)
                                                                                                     Re: OR mappers slowing things down - (ChrisR) - (15)
                                                                                                         Re: OR mappers slowing things down - (tablizer) - (14)
                                                                                                             Procedural abstraction - (ChrisR) - (2)
                                                                                                                 My abstraction can beat up your abstraction - (tablizer) - (1)
                                                                                                                     re: Relational is more than storage (new thread) - (ChrisR)
                                                                                                             It wasn't a caching issue - (ben_tilly) - (10)
                                                                                                                 No file IO - (admin) - (9)
                                                                                                                     I understand how it worked - (ben_tilly) - (8)
                                                                                                                         Index lookup in code, or table index? - (admin) - (7)
                                                                                                                             That requirement would shock me - (ben_tilly) - (6)
                                                                                                                                 Re: That requirement would shock me - (admin) - (5)
                                                                                                                                     Question about Oracle tables - (ChrisR) - (2)
                                                                                                                                         You can pin them in memory. - (admin) - (1)
                                                                                                                                             Oracle tables pinned in memory. - (admin)
                                                                                                                                     You did give the impression that CPU was the issue - (ben_tilly) - (1)
                                                                                                                                         Whoops, my mistake. -NT - (admin)
                                                                                             Re: Table != Disk - (admin) - (2)
                                                                                                 This is an area in which I'm proud of Dejavu - (FuManChu) - (1)
                                                                                                     Nifty. - (admin)
                                                                             Another little anecdote for you: - (admin) - (7)
                                                                                 OT: Scott, can we please do something about long lines? - (jb4) - (6)
                                                                                     Dang, this was SUPPOSED to go into the Suggestions forum - (jb4) - (3)
                                                                                         The other way, besides cut and paste, is to re-type it :-) -NT - (ChrisR) - (2)
                                                                                             There isn't enough time in the world... - (jb4) - (1)
                                                                                                 HTH: As with Perl, There's More Than One Way To Do It -NT - (ChrisR)
                                                                                     Perhaps one might play with CSS clip and overflow...? -NT - (FuManChu)
                                                                                     Not that I'm aware of. - (admin)
                                                                             Retrieving the customer record anyway: - (admin) - (22)
                                                                                 question - (tablizer) - (21)
                                                                                     Re: question - (admin) - (20)
                                                                                         The other method is to have one column.... - (ChrisR) - (2)
                                                                                             Re: The other method is to have one column.... - (admin) - (1)
                                                                                                 That's the spirit!!! -NT - (ChrisR)
                                                                                         I would have to look at the nature of the data -NT - (tablizer) - (16)
                                                                                             Are you kidding?? - (admin) - (15)
                                                                                                 suggestion 3 - (tablizer) - (14)
                                                                                                     Re: suggestion 3 - (admin) - (13)
                                                                                                         bottleneck black box - (tablizer) - (12)
                                                                                                             Storing Dictionary as Session variables in ASP - (ChrisR) - (8)
                                                                                                                 It has gotta go *somewhere* - (tablizer) - (7)
                                                                                                                     ASP is OO - (ChrisR) - (6)
                                                                                                                         re: ASP is OO - (tablizer) - (5)
                                                                                                                             ASP = COM - (ChrisR) - (4)
                                                                                                                                 re: ASP = COM - (tablizer) - (3)
                                                                                                                                     ChiliSoft ASP - (ChrisR) - (2)
                                                                                                                                         Interesting terminology - (FuManChu) - (1)
                                                                                                                                             You're probably correct convention-wise - (ChrisR)
                                                                                                             Re: bottleneck black box - (admin) - (2)
                                                                                                                 how they relate - (tablizer) - (1)
                                                                                                                     Re: how they relate - (admin)
                                                                     I don't understand why you mention "eval" -NT - (FuManChu) - (6)
                                                                         re: I don't understand why you mention "eval" - (tablizer) - (5)
                                                                             I get it now. - (FuManChu) - (4)
                                                                                 OO is just a (bad) reinvention of 60's databases with - (tablizer) - (3)
                                                                                     No. You are a proponent of OO programming. - (folkert) - (2)
                                                                                         The question that launched a thousand arguments - (tablizer) - (1)
                                                                                             That explains a lot - (FuManChu)

He's so far to the right of the bell curve he could drop a marble and it wouldn't roll away.
103 ms