[squeak-dev] Re: Proper Smalltalk lots of classes

Jimmie Houchin jlhouchin at gmail.com
Sun Jan 2 23:49:51 UTC 2011


On 1/1/2011 12:29 PM, Yanni Chiu wrote:
> On 31/12/10 5:24 PM, Jimmie Houchin wrote:
>> I am initially creating the message classes as they form the basis of
>> the protocol and the fields are simply instance variables and methods in
>> the message classes.
>
> I had a look at:
>
> http://en.wikipedia.org/wiki/Financial_Information_eXchange
> http://www.quickfixengine.org/FIX44.html
> http://www.quickfixengine.org/xml.html
>
> In a lot of cases, many fields are optional, so I doubt an instance 
> variable per message field is the right thing to do.
>
>> I am not porting the Java library. I am implementing the protocol in
>> Smalltalk from the documentation.
>
> I think a lot of the code can be generated from the xml file 
> corresponding to the FIX44.html above.
>
> What code should be generated is the big question. You could generate 
> classes for each message type and each field type, and get the code 
> bloat you're concerned about. Or, you could generate data structures 
> from the spec, that are used to construct/parse messages and fields. 
> If you generate all this stuff then you can delay the choice.
>
>> Initially I have created a Fix44Field class with its necessary 
>> variables.
>> There are several versions of the Protocol and FIX 4.4 is the one
>> required for my application.
>>
>> With this Fix44Field class I am creating a Dictionary with the 956
>> different field types. I am planning on creating a constructor method
>> which will create the desired field from the information in the
>> dictionary about the field and its properties.
>>
>> Am I way off base here? Should I really create the 956 classes necessary
>> to for each field in addition to the 90 or so message classes, and then
>> I don't know what else I haven't discovered yet. Having 1000+ classes
>> just seems unwieldy and naively it just doesn't feel like the Smalltalk
>> way. I could be wrong, but I haven't seen such an example to my memory.
>> I don't know enough about Java to know if it is good Java form either.
>
> IMHO, you'll end up with a class for each of the 90 or so message 
> types, due to validation and constraint needs. Whereas, the 1000+ 
> field types will be handled generically by a few classes.
>
> Good luck.

Hello Yanni,

Thanks.

I fully expected to create classes for all of the message types. That 
seemed reasonable and the correct way to do it. But the field types in 
general I thought could be generated from some sort of template with the 
exception of a few which might be more complicated and require their own 
class.

Thanks for the reply.

Jimmie



More information about the Squeak-dev mailing list