no I am sorry but I cannot understand it, looks like I am too stupid for
Spec . Its ok though thats my fault , thank you all for trying to help me
understand. Unfortunately the whole design of Spec looks extremely hard to
me.

On Sat, Dec 20, 2014 at 3:48 PM, Nicolai Hess <nicolaih...@web.de> wrote:

> This is how I would do it. (see attachement)
> What do you say? Is it clearer now what I meant with
> compose and reusable models?
>
> I am curios how would a pure morphic based solution look like.
>
> As it is just a simple dialog, I think the pure morphic version would be
> similar (in code size)
> and of course, it can be build by small reusable parts as well.
>
>
>
> 2014-12-20 0:18 GMT+01:00 kilon alios <kilon.al...@gmail.com>:
>
>> yes you can find my code here
>>
>> https://github.com/kilon/Nireas
>>
>>
>>
>> On Sat, Dec 20, 2014 at 12:17 AM, Johan Fabry <jfa...@dcc.uchile.cl>
>> wrote:
>>
>>> 36 methods for your UI is way too much. I suppose you are doing
>>> something wrong somewhere. You should not need all of these steps. It
>>> should be:
>>>
>>> First you add the instance var (e.g. button) and accessors (BTW:
>>> Generate the accessors. It’s 3 keystrokes and a click), otherwise the UI
>>> object cannot reference its widgets.
>>>
>>> For 1) see my previous mail. The idea is to have 1 clear responsibility
>>> per method, it’s good software engineering principles to do that.
>>>
>>> You don’t need to do 2)
>>>
>>> 3) if you don’t put a specific object inside the variable there is no
>>> way for the system to know what kind of widget you want.
>>>
>>> 4) yes this makes sense :-)
>>>
>>> I do not understand what you mean with 5), sorry. I don’t do anything
>>> like that.
>>>
>>> 6) you have to state where this button has to go, there is no way around
>>> that. Class side is not so intuitive, OK. But at least all the layout is in
>>> one place so we have 1 clear responsibility for each method.
>>>
>>> To summarize, there are 4 steps and none of them can really be omitted.
>>>
>>> I would like to have a look at your UI class so I can figure out what’s
>>> going on. Can you tell me where to find it?
>>>
>>> > On Dec 19, 2014, at 16:54, kilon alios <kilon.al...@gmail.com> wrote:
>>> >
>>> > "Can you help me understand?"
>>> >
>>> > sure take this simple example I want to add a button for choosing
>>> background color, I am giving you the list of my problems
>>> >
>>> > 1) If I want to initialise it I cant use the initialise method of my
>>> class (why ? ) I have to use initializeWidgets
>>> >
>>> > 2)  Inside initializeWidget I create an array that describes the name
>>> of each button but no that is not enough
>>> >
>>> > 3) I have also have to initialise seperately the button with self
>>> newButton but wait that is not enough
>>> >
>>> > 4) I have to define the action of the button the only step here that
>>> makes sense to me but even that is not enough
>>> >
>>> > 5) I have to create a method that returns the name of the button and
>>> to makes things even more verbose
>>> >
>>> > 6) I have to define a method at the class side for positioning the
>>> button . No idea why this goes to the class side
>>> >
>>> > And all that so I can say to Spec take this button which has this
>>> label and will trigger this method and put it in that place. Java Swing is
>>> not that verbose.
>>> >
>>> > Generally I dont like this approach that I need to generate so many
>>> method and so many steps to define something so simple.
>>> >
>>> > So what happens right now is that I have a very simple GUI with 7
>>> buttons and 6 moprh that i use to display colors , guess how many methods
>>> my class has .
>>> >
>>> > 36 !!!
>>> >
>>> > By the way in case you wonder 90% of the code is just Spec. For me
>>> thats plain unacceptable.
>>> >
>>> > So what happens if I have a GUI with over 100 buttons do I need 300
>>> methods just for Spec ? Really ??
>>>
>>>
>>>
>>> ---> Save our in-boxes! http://emailcharter.org <---
>>>
>>> Johan Fabry   -   http://pleiad.cl/~jfabry
>>> PLEIAD lab  -  Computer Science Department (DCC)  -  University of Chile
>>>
>>>
>>>
>>
>

Reply via email to