Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Complex objects modeling
Message
From
31/10/2018 09:48:59
 
 
To
29/10/2018 13:22:20
General information
Forum:
Visual FoxPro
Category:
Visual FoxPro and .NET
Environment versions
Visual FoxPro:
VFP 9 SP2
OS:
Windows 10
Miscellaneous
Thread ID:
01662805
Message ID:
01662988
Views:
61
>I'm 100% with you to say that VFP can be extended far beyond what it's supposed to do 'out of the box', and I love seeing other developers (eg. Antonio, Fernando, you) come with new ideas and clever solutions, inspired by other languages and/or communities or not.

Full ACK!

>From what I read in Wikipedia about DDD, it looks like computing tends to become more a science than an engineering discipline as it used to be with VFP: anyone with a minimum scientific/mathematics background can write a couple of programs to solve a given problem, store some data into a table, make some calculation, etc.

Count me in among those arguing for database first, not program/object first when discussing for development style ;-)

>
>When I read about
>

    >
  • Domain-specific modeling (DSM)

  • >
  • Domain-specific language (DSL)

  • >
  • Aspect-oriented programming (AOP)

  • >
  • Command Query Responsibility Segregation (CQRS)

  • >
  • Dependency injection

  • >
  • etc.

  • >

>I prefer stick with simple concepts like inheritance and polymorphism, with which I could, until now, achieve all I've needed in Desktop and Web Applications.


Uuumhhhh... I guess we both agree a lot along the lines of "less is more" and KISS

>simple concepts like inheritance and polymorphism

I don't know the concepts discussed when vfp OO was planned, but back then single inheritance and interfaces (Java, COM/ActiveX) were often considered better compared to (back then) willy-nilly multiple inheritance of C++ and possibly Python/Python forerunners.

Vfp implementation then AFAIK did not use a class based system, but a prototypal inheritance - similar to the mechansim Javascript uses, but without the options of setting the .Prototype and only inelegant wrapping (compared to wrapping with another Constructor-Function).

This led sometimes to God-classes or other maintainance problems ;-)
In vfp my tries to add functionality more along the principle of composition/aggregation over inheritance IMNSHO led to better code, but it needed more maintainance code compared to similar approaches in Python or JS.

Nowadays even Java (since 8) allows a nice clean way to add DRY fuctionality as mixin-multiple inheritance via default-method implementations allowed in interfaces.

Vfp not having incremental version additions (Think Bindevent and Cursoradapter in 8, debugger, access&assign in 6) still has the tremendous advantage of nose2nose ability with data, but will get new functionality only via testing the borders of current system (clever hacks) but our runtime is dead-ended.

And while it is very stable
;-))
I often wish for some of the newer ideas and concepts integrated into the engine, like JSON/REST capabilities.

my 0.02€

thomas
Previous
Reply
Map
View

Click here to load this message in the networking platform