Path: csiph.com!usenet.pasdenom.info!weretis.net!feeder4.news.weretis.net!news.musoftware.de!wum.musoftware.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: Robert Klemme Newsgroups: comp.lang.java.programmer Subject: Re: Single Class Object Model - new release Date: Tue, 12 Jun 2012 23:48:53 +0200 Lines: 44 Message-ID: References: <9562a637-4191-42c2-a4b2-a2db589cd820@googlegroups.com> <787f166d-488f-49fe-aa1f-bd8e227ed30e@eh4g2000vbb.googlegroups.com> <169b14d7-e43d-482d-a195-bcd20965331a@d17g2000vbv.googlegroups.com> <0664fdd5-d018-46ef-912f-26c806b7b326@p27g2000vbl.googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: individual.net HTegy5dxUkXHA2uqvmaJlgrZoQv6ZekcVnfeBNfmBFHhxfyHvfNHYynq5oSHHKaYo= Cancel-Lock: sha1:0LaPryE2W+5uQ48J6fLHQ+cfh2I= User-Agent: Mozilla/5.0 (Windows NT 6.0; WOW64; rv:12.0) Gecko/20120428 Thunderbird/12.0.1 In-Reply-To: <0664fdd5-d018-46ef-912f-26c806b7b326@p27g2000vbl.googlegroups.com> Xref: csiph.com comp.lang.java.programmer:15231 Please truncate quotes properly. On 12.06.2012 22:09, micha wrote: > - The purpose is to show to Java programmer's that: > 1. there are alternate Object Model paradigms, especially Adaptative > Object Model (where classes are defined and extensible at runtime) OK, no surprise here. > 2. That the API may be outside of the class and instead in the > semantic network of agnostic instances (which is the purpose of It > class in SCOM) > SCOM allows easy creation of a semantic networl of its own > instances at runtime, and it is this network which becomes the API, > the It class > API is just an enabler (like machine code vs programming > language) I look at https://github.com/terimakasi/scom/blob/717f9b9e6748656b5bfcf439147e04b6293b8544/samples/arithmetic/Test_Add.java Here you created a graph of objects which contain functionality in a similar way a interpreter could use internally. Instead of invoking a method "add" on an instance of a numeric class you have a generic method "evaluate" - and that obviously behaves different for something that was created in a special way (with arguments ItAddF.BASENAME, ItAddF.BASENAME, ItAddF.CLASS_NAME). Basically you replaced specific methods with specific instances which behave differently. No surprises here as well - that's a common idiom if you want to stick together algorithms at runtime. Now that you've shown it, why should I care? Put differently: what can I do better with this than with - say - plain Java? Apparently you are trying to sell something but I fail to see the benefit or why you post it in a Java newsgroup. Cheers robert -- remember.guy do |as, often| as.you_can - without end http://blog.rubybestpractices.com/