How to create my Base SF classes....


Author
Message
Trent Taylor
Trent Taylor
StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)
Group: StrataFrame Developers
Posts: 6.6K, Visits: 6.9K
That was a very intelligent and intuitive response, Charles. 

This is both a source of riches and a PITA for the framework builder.

Very accurate...and good choice of acronyms Smile

.NET causes me to guess that it is not necessary or particularly desireable to subclass the enitre SF class set into a "dev layer" or "i layer" but a more focused approach to extending particular objects either through inheritance or partial class or ... I'm sure there are possibilities I don't yet imagine ... might work better. 

As you will see, it is using a combination of both.  And in fact, this is something that should be entirely cleared up in the class.

This is gonna be fun

Absolutely!  I really enjoy these classes.  They are a lot of fun!!!  And it is always nice putting faces with forum posts BigGrin

Charles R Hankey
Charles R Hankey
Advanced StrataFrame User (922 reputation)Advanced StrataFrame User (922 reputation)Advanced StrataFrame User (922 reputation)Advanced StrataFrame User (922 reputation)Advanced StrataFrame User (922 reputation)Advanced StrataFrame User (922 reputation)Advanced StrataFrame User (922 reputation)Advanced StrataFrame User (922 reputation)Advanced StrataFrame User (922 reputation)
Group: Forum Members
Posts: 524, Visits: 30K
I think one of the things we have to keep in mind is that unlike VFP, which for the most part is a one-deep class library out of the box - .NET is in itself a complex framework ( 4,000 classes? ) and a .NET framework begins by building on that.  This is both a source of riches and a PITA for the framework builder.  IT would also seem that in .NET you'd be working with more of the native classes without automatically subclassing them. 

And in the framework, my limited knowledge of .NET causes me to guess that it is not necessary or particularly desireable to subclass the enitre SF class set into a "dev layer" or "i layer" but a more focused approach to extending particular objects either through inheritance or partial class or ... I'm sure there are possibilities I don't yet imagine ... might work better. 

I for one am going to work very hard to have in my head during the training a "feature set" of things I like in my current dev environment that I will look for ways to emulate in SF, but I want to keep my mind as open as possible to understanding the .NET/SF approach without looking for a direct translation from the *implementation* that I'm used to.  I'm sure the VPM guys will do the same. 

The nice thing about having worked with (and benefitted greatly from) a successful framework is that you come to understand the benefits of using the framework as the designers intended and to place a good deal of trust that the designers have also thought about these issues and have made their decisions with a very in-depth knowledge of foundation the framework is built on. 

And in the VFE world I found that really getting into the designers' heads on these issues was an incredible learning tool for understanding the real issues in doing robust apps in that language.

This is gonna be fun BigGrin

Trent Taylor
Trent Taylor
StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)
Group: StrataFrame Developers
Posts: 6.6K, Visits: 6.9K
We have several sections within the training class that talks about this very point.  If you are re-creating much of this logic from one solution to another in .NET, you are not only fighting StrataFrame, but the structure and logic of .NET.  So hopefully we will come to a resolution during the training class that you undertand and are content with on this topic.

We are always open to new ideas and improving the framework.  But there are also many new ways to think in regards to coming from a VFP background.  We too had many of these very same thoughts when we first started in .NET and it took a while before some of the, "lights came o,." which I know will come on faster for each of use as I am a little slow sometimes.  But like Charles said, let's get through the training and you may have many of these questions answered.

I also know that there were many great concepts and ideas in the VFP frameworks that could translate into .NET (many of which we have implemented) while others just fall outside of the basic .NET structure and logic.  Just like anything else, when moving from one platform to another there are going to surely always be different approaches and methods, and this is no different.

Edhy Rijo
E
StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)
Group: StrataFrame Users
Posts: 2.4K, Visits: 23K
Hi Aaron,

Aaron Young (07/06/2008)
Hi Edhy,

I have used VPM and FoxPro and the best advice I can give you is to forget about both when thinking of SF/.NET. 

Agree, I have done that in order to get into .NET, but there are still some nice functionalities available in those frameworks which could enhance SF more.  Keep in mind that were are not here to talk about which one is the best, obviously there could be not fare comparison between VFP/.NET since they are not look alike technologies.  In my case, I would simply express what I would like to see in the framework I choose to stay with for the years to come.

In my opinion, .NET is much better at sub-classing objects than FoxPro ever was and SF is far more powerful than VPM. Trying to equate SF/.NET back to VPM/Foxpro thinking, I believe, confuses the issue and doesn't help with the considerable learning curve with .NET. I realize this is a statement that could infuriate many VPM/FoxPro users and that is not my intention.  In fact, I seem to recall being told on the VPM forums to "clear off to my .NET buddies" (or words to that effectSmile) by one VPM user several years ago. Ironically, that very same VPM user is now a member of these forums and expressing regret at not getting into .NET sooner, so it would appear he has followed me which I find most amusing Smile.

I also agree with you in the superiority of .NET and again, I am not trying to compare the two, otherwise I would simply stay with VFP/VPM, etc. Smile  I don't know which VPM user you are talking about, but I have seen many discussion in that regard and I simply try to avoid them, it is not worthy.  All this depend on the time and place we are in terms of the new technology.  In my case I got into .NET with VS2005 and with a framework that today and tomorrow will deliver the tools I need to be more productive, and that is why I choose SF instead of IdeaBlade, and that does not means IdeaBlade is bad at all.

In any event, the learning curve with .NET is a long path and there is MUCH to learn. However, it is well worth it. I still have to maintain an old VPM based application from time to time and I absolutely hate having to do it as VPM/Foxpro is so dated and cumbersome in comparison to .NET. SF adds another layer which is light years ahead of VPM.

Well, I also agree with you Hehe.  I am moving to .NET due to conviction and not because a client X requested project X to be done in .NET.  As a private consultant I get to decide which tools to use to deliver my customers solutions, and having a VFP/VPM project at a 65%, I decided to re-start it in .NET and I tried with IdeaBlade and SF, I gave each of them one week and I think you know the outcome Smile.  IdeaBlade even offers free training and has a tons of documentations and videos which help out, but for me SF is more suitable.

There should be many references on the web about .NET sub-classing and I do think it isn't really a SF issue. One really nice feature is you can freely change your class hierarchy without having to hack Foxpro files -so it is easy to experiment.

Yes, I even have some books that talks about it, but one can get confused from time to time, so there is not better time for the SF Training on July 14th.  Like Trent has said here many times, it is easier than we though.

Edhy Rijo

Aaron Young
Aaron Young
StrataFrame User (435 reputation)StrataFrame User (435 reputation)StrataFrame User (435 reputation)StrataFrame User (435 reputation)StrataFrame User (435 reputation)StrataFrame User (435 reputation)StrataFrame User (435 reputation)StrataFrame User (435 reputation)StrataFrame User (435 reputation)
Group: StrataFrame Users
Posts: 277, Visits: 1.1K
Hi Edhy,

I have used VPM and FoxPro and the best advice I can give you is to forget about both when thinking of SF/.NET. In my opinion, .NET is much better at sub-classing objects than FoxPro ever was and SF is far more powerful than VPM. Trying to equate SF/.NET back to VPM/Foxpro thinking, I believe, confuses the issue and doesn't help with the considerable learning curve with .NET. I realise this is a statement that could infuriate many VPM/FoxPro users and that is not my intention.  In fact, I seem to recall being told on the VPM forums to "clear off to my .NET buddies" (or words to that effectSmile) by one VPM user several years ago. Ironically, that very same VPM user is now a member of these forums and expressing regret at not getting into .NET sooner, so it would appear he has followed me which I find most amusing Smile.

In any event, the learning curve with .NET is a long path and there is MUCH to learn. However, it is well worth it. I still have to maintain an old VPM based application from time to time and I absolutely hate having to do it as VPM/Foxpro is so dated and cumbersome in comparison to .NET. SF adds another layer which is light years ahead of VPM.

There should be many references on the web about .NET sub-classing and I do think it isn't really a SF issue. One really nice feature is you can freely change your class hierarchy without having to hack Foxpro files -so it is easy to experiment.

Aaron

Edhy Rijo
E
StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)
Group: StrataFrame Users
Posts: 2.4K, Visits: 23K
Charles R Hankey (07/06/2008)
Edhy -

You and Randy Jean and I can get together on this and kick around ideas in Amarillo. VFE has exactly what you are talking about and Randy and I have discussed at length what this design means in the .NET / SF world.

Hi Charles,

Sure I am counting on that.  Even my friend Doron Farber will be there with us.

I am starting to think that perhaps this is one of those areas where differences in the way inheritance and other things work in .NET and VFP might mean a different approach to having a custom version of SF classes that would be the starting point for SF projects - i.e. same idea, different implementation.

Agree.  In my VFP-Framework experience, I am used to work with several projects at the same time, and by having the classes level I had, it was pretty easy to just change something at the DEV level and be inherited by all projects if needed to be, and when attempted to create a 3rd project in SF and try to re-used some of the classes or controls I have done, then it came frustration again BigGrin.  Of course this is all due to my lack of knowledge of .NET which I am sure the training will clear out.

I'm holding off on even thinking about some of the stuff I want to do until I get training on how to dig into the SF source code without breaking everything like I did the last time. Wink
Same situation here.

So far the only principle I am sure carries over from the VFE world into the SF world is the maxim "Don't fight the framework" - or at least that's what I keep repeating to myself over and over again
Agree.  I have always told my fellow developers at the VPM (Visual ProMatrix) newsgroup the same thing, and it is because of that maxim that I was able to keep moving in this leaning curve. 

I was a VFE user for the DOS version and got stuck when they did the move to VFP and could not keep waiting for them to have a working VFP framework, so I had to move on, but one thing I love about VFE & VPME is the excellent documentation (help and printed materials) available to learn the tools.  Somehow, I don't see that kind of documentation in the .NET arena, even the VS MSDN help is not friendly, I found it very difficult to find the stuff I need in comparison to the VFP help.  SF help is good but still needs more work, and an option to print out the whole documentation for an easy reading.  If it wasn't for the StrataTrain Videos (even though they are a bit outdated), this forum and the help of everybody here it would have been more difficult and frustrating to get into the .NET arena.

Bottom line, I would be more than happy to get together in Amarillo and discuss about all this in order to enhance the tool we all choose to be the best .NET framework that suits our needs.  I have been using VPM for over 10 years and I am sure you and Randy has been with VFE for many years, so I am glad to be part of this new family, StrataFrame and help in the growing process of our new framework.

Edhy Rijo

Charles R Hankey
Charles R Hankey
Advanced StrataFrame User (922 reputation)Advanced StrataFrame User (922 reputation)Advanced StrataFrame User (922 reputation)Advanced StrataFrame User (922 reputation)Advanced StrataFrame User (922 reputation)Advanced StrataFrame User (922 reputation)Advanced StrataFrame User (922 reputation)Advanced StrataFrame User (922 reputation)Advanced StrataFrame User (922 reputation)
Group: Forum Members
Posts: 524, Visits: 30K
Edhy -

You and Randy Jean and I can get together on this and kick around ideas in Amarillo. VFE has exactly what you are talking about and Randy and I have discussed at length what this design means in the .NET / SF world.

I am starting to think that perhaps this is one of those areas where differences in the way inheritance and other things work in .NET and VFP might mean a different approach to having a custom version of SF classes that would be the starting point for SF projects - i.e. same idea, different implementation.

I'm holding off on even thinking about some of the stuff I want to do until I get training on how to dig into the SF source code without breaking everything like I did the last time. Wink

So far the only principle I am sure carries over from the VFE world into the SF world is the maxim "Don't fight the framework" - or at least that's what I keep repeating to myself over and over agan

Trent Taylor
Trent Taylor
StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)
Group: StrataFrame Developers
Posts: 6.6K, Visits: 6.9K
Trust me, you will see more of this coming from us (VFP-Frameworks users), even if they don't make sense in the .NET world

Well, keep this in mind...we used FoxPro (and dealt with VFP frameworks) for 17-18 years...so we have a little insight here too...not to say that more great ideas won't come down the pike Wink

Edhy Rijo
E
StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)StrataFrame VIP (4.6K reputation)
Group: StrataFrame Users
Posts: 2.4K, Visits: 23K
This is the first time I have ever had a request for this.

Trust me, you will see more of this coming from us (VFP-Frameworks users), even if they don't make sense in the .NET world.Hehe

Really, once you see how to do this it is there is no need for empty classes.  In fact, many of the assemblies and classes that you create could and should be used accross all of your projects.  They should be re-usable!

That sound pretty good.

Obviously I understand the point of purchasing training and coming to class and we look forward to having you here.  But this is not something that I want to elaborate on here on the forum because this turns into training on the forum, which is not the intent of the forum.

Trent, don't  worry about it.  I do understand, and it is not my intention to have a training session in the forum, that is why I asked to anybody in the forum that has done this if they have any documentation or quick steps they could share since I am in the process of creating my 2nd SF project and wanted to reuse some of the code I have done.  If nobody comes forward today, I will simply do what I can to advance this project and wait until the class to cleanup my messy code Tongue.

Edhy Rijo

Trent Taylor
Trent Taylor
StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)
Group: StrataFrame Developers
Posts: 6.6K, Visits: 6.9K
Edhy,

This is the first time I have ever had a request for this.  Really, once you see how to do this it is there is no need for empty classes.  In fact, many of the assemblies and classes that you create could and should be used accross all of your projects.  They should be re-usable!

Obviously I understand the point of purchasing training and coming to class and we look forward to having you here.  But this is not something that I want to elaborate on here on the forum because this turns into training on the forum, which is not the intent of the forum.  This would basically require me to take the rest of the day, produce docs, samples, etc. just for this one post.  This is not a feasible request.  Sorry Ermm

GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Similar Topics

Reading This Topic

Login

Explore
Messages
Mentions
Search