Is there any good reference for object oriented|good design in vb6? [closed] - vb6

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 4 years ago.
Improve this question
i'm currently in the process of modifying a legacy editor application and i need to add in a few data structures which i have made into a class of it's own which i later add to a collection object. but thus far i'm little bit blurry on where to put all of my functions which is related to that object. i'm thinking maybe OO like design, but i'm not quite sure how to do this in vb6. else all the functions are currently in a module mdl file. which are set as public function.
is there any good reference, book or whatever which i can learn more about how to properly design for vb6 app? for the current work and for future work i guess.
thanks.

Are you familiar with Rocky Lhotka's work? I would recommend reading Visual Basic 6 Business Objects.
Visual Basic 6 Business Objects provides a thorough introduction to employing objects that are used to model real-world business problems.
You can also visit www.lhotka.net
Edit :
I know it sounds like a lot of trouble, but I would really recommend you take the time and read Rocky's book. He talks about simulating OOP principles eg. like simulating inheritance in vb6 ect.

Another good source of information is Deborah Kurata, she's written a series of books about OO coding in VB. Less well known than Rocky Lhotka (who is excellent), and concentrates more on pure OO, not the ORM/DB layer that he does.

All the reference cited so far are good. However the Design Patterns by the Gang Of Four is usable for Visual Basic 6. The trick to remember that most of the pattern talked about in Design Patterns rely on implementing interfaces which VB6 can do well. In fact you will find most design patterns involve implementing interfaces.
This is because most design patterns focus on setting up how various objects interact as opposed to reusing behavior. So interface become much more important.
Design Patterns by the GoF
Patterns by Martin Fowler
The various GUI and presentation patterns is the most applicable in my opinion.
My own application is structured completely as a series of design patterns. For example I use a Passive View for my presentation layer. The various views called command objects which does the actual modifications of the model. I use factories to retrieve the list of reports, file types, and shapes my software support. All done in VB6 using the Design Patterns book by the GoF.

Before getting deep into the theological aspects of OOP those books cover you might begin by simply reading the VB6 documentation. In particular the sections on component design.

Related

Can I find another course similar to this UC Berkeley course [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I have been looking online to learn how the current crop of web applications manage their data, on both the server side and client side.
Like, I'm intrigued by Google Suggest, personal recommendations based on my "likes", etc.
So, while I searched for content where I could learn such data structures and algorithms, I came across this course provided by UC Berkeley - http://extension.berkeley.edu/cat/course460.html
The description of this course matches exactly with what I really want to learn.
Study the algorithms that provide the
power behind many of the most
effective Web applications. Where do
the phases come from for lists like
Google suggests? What techniques can
generate personal recommendations? How
do social networking, mash-ups, and
mixed-media sites select and
categorize similar groupings of binary
content? In this course, you gain a
solid understanding of current
algorithms and data structures for
search, recommendations, groupings,
classifications, and combinations of
classifiers.
However, there seems to be no way to find more details about this course.
Can someone here help me find a book / online course / site where I could learn more on this subject ?
Rex Griffiths and I just launched a video podcast about all this stuff this week. You can find it over at http://StatCasts.com. We should bring along the funny as well as teach something. You can follow us on twitter (#StatCastsCom), where we try to link to cool things we're seeing on this front in real time, or just go to the show. We'll have a lot of links for other people's stuff. Plus, Rex and I are both active developers and have quite a bit of open source software that we give away for this kind of thing.
There is the Stanford Course on Machine Learning which is really interesting, but a little hard to follow without some of their offline discussion.
Outside of courses, you could look at software packages or books and the communities that surround them. They tend to fill in the gaps about this sort of thing. So, here's a list of some what's out there:
Mahout, a machine learning library for Hadoop. There's a Manning book out on this as well. This is a good solution if you want to learn how to do this stuff with Big Data.
Modeling with Data, a great book by Ben Klemens who works at the Brookings Institute and explains a really good foundation for this kind of thing.
Weka and a book called Data Mining. This is a great way to get involved without getting lost. Weka has an easy-to-use interface that isn't much harder than a spreadsheet to use.
The R language is an amazing place to go for this kind of thing. You'll usually find anything analytical you want to do in this package. I have a few books kicking around here for that. The R Book is my favorite, though it's a bit expensive.
Octave is the GNU response to MatLab (commercial software). They both have incredible resources behind them.
I think Ben Mabey put together a pretty good pinboard full of good teaching links for this kind of thing.
Finally, my stuff is Fathom, an open source framework for solving these kinds of problems and http://openmobi.us, a website that implements the Fathom library for people that want to get straight to it. With those projects, I'm trying to make it easy for people to get involved with building their own models and using them for their businesses or education.

Good tutorials to understand Domain Specific Languages (DSLs) from the scratch , to start a survey thesis [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 12 months ago.
Improve this question
My thesis topic is about Domain Specific languages in general, I want to focus on design or implementation for external or internal DSLs but I can't even think or start because I am facing problems with understanding the concept of DSLs ..
I have read and collected so many papers and surveys about this issue but all of them I consider as advanced.. I need a good tutorial ( for beginners ) to understand the whole concept and phases for DSLs from the scratch ..
I have read the first chapter for DSL by Martin Fowler , Fowler started with state machines and hard programming codes from the first page of his book and the problem is that I am not very good in programming in general, I have no experience, my thesis will be a survey about DSLs with no programming work. Until now I don't know what to focus on because the survey should be specific on on area like designing techniques or comparisons in designing or implementing , but because I cant get the big picture I can't even decide. Any suggestions about this issue also I will really appreciate that.
Please help me and thank you very much. I always look at the questions and answers in this great website and I believe that I will find a solution for my nightmare problem here!
Thanks a lot
Nat
This book is Bible for DSL's in my opinion. This book used to be free when it was in draft. You can also find other learning resources there.
Go through this post to find successful DSL's. This post might help you in identifying various flavors and various domains where they are being used.
It will be a lot of work for you if you want to understand it, so if you are not skillful with programming, learn it or choose easier thesis.
I wrote my thesis about model driven software development and domain specific languages withouth even a basic knowledge about modeling etc. It can be done, but I spent much time reading (which I enjoyed).
For the most basic introduction I would recommend se-radio.net podcast episodes 5 and 6 (...and there are many more about more advanced topics on MDSD/DSLs).
I'd read James Neighbors thesis, after reading his executive summary. He's the guy that defined the terms "domain analysis" and "domain engineering" in the context of defining "domain specific languages". And he shows a program generation system, Draco, that generates an astonishing variety of complex application codes based on these ideas. (The thesis is a lot more readable than you might expect, but expect to see some real code!).
You can read some history on this topic, too, and once again, how those who don't know their history are doomed to repeat it.

Open source libraries to design directed graphs [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
I'm going to need to write a program that takes a list of persons and connects them together in a directed-graph-like manner. The GUI aspect of the whole project is very important. The graph must allow a lot of interaction. Such as selecting several people and hiding the others, moving them around.
Additionally, the software will need to be able to provide other kind of GUI-features such as several tabs, text boxes etc.
The application must be quite efficient. As in, it must be able to handle hundreds if not thousands of widgets.
Hence, I would like to know which open source libraries (at this point the programming language they are written in does not matter - I just want an overview of everything good that is out there) would allow me to develop such piece of software? What would you recommend?
Edit: Could you please also link to tutorials explaining how I could program a GUI that can interact with the generated graph? For example mouse events.
How about JGraphT in combination with JGraph.
Check here for a simple demo with basic interaction
Take a look at Graphviz, especially its lefty component. It should satisfy your needs.
http://en.wikipedia.org/wiki/Graphviz
Depending on your actual goal and needs, you might consider taking a look at processing.org. The site has many demos and like many other libraries, it is free. Using Processing does not require you to learn much. It is similar to Java and written in Java, but allows you to ignore much of the Java structure and code and just do what you want.
Since you mentioned that you would want to use x or y to code in, it sounds like you have not made a language decision, so this might be worth your time. Spend 15 minutes there and look at the demos to see if it provides what you are looking for. If speed to a single solution is one of your criteria, this might do it.
You might want to have a look to Dynagraph.
EDIT: An article presenting Graphviz and Dynagraph is available here.
My first thought was ILOG Views (for Java, .Net, C++), now owned by IBM, but their pricing is rather steep. My second thought would be yFiles (for Java or .NET), perhaps in conjunction with yEd (Java only).
If that still doesn't cut it, have a look at the alternatives on this list (rather unsorted, some tools are not open source, others won't suit you for other reasons).

Tips for switching from A Project Manager to a Developer [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 3 years ago.
Improve this question
I am currently trying to make the transition from a technical PM to a Developer.
Obviously this depends very much on current level of knowledge / experience, but are there some key things that a PM (who also codes regularly) might have missed from not strictly working as a Developer.
Also would a course like this help in the right direction?
http://www3.imperial.ac.uk/computing/teaching/postgraduate/msc-computing-science/description
Considering I want to work on Audio/Video/3D ideally, I feel this course could be a good leg up?
As a technical PM you have the advantage of knowing the terminology etc so that is at least a heads start. As to making the switch check out information on areas such as
computing fundamentals - low level concepts on computer hardware, network and protocols.
algorithms - for an understanding of sorting, graphs, networks, trees, etc.
architecture and design - web application architecture, messaging architecture, UML, use cases, documentation.
programming languages - OO, scripting and AI (at least to get a feel for the types and applications)
business end of programming - software estimation
This is a broad spectrum of areas that you would need to have at least some exposure to for the transition. In fact it might even be useful if your current employer allowed you to work as the developer on a small part of a project. You'd certainly gain respect from the developers on a project coming from the technical PM role and could even enlighten the developers.
If you have a passion for working in an area, seriously consider the amount of creative freedom, in your experience, developers have as compared to PMs. Make sure that's acceptable to you.
Nothing is worse than having passion in an area, but little or no influence.
As far as technical abilities go, the only thing to do is to code. Any classes primarily will act as ways to ensure that you do so, and do so in ways that will teach you. But at the end of the day, it's going to boil down to time spent writing software.
If you really want to become a great developer, learn at least one language radically different from the languages you know. If you're a Java/C++/C# kind of guy, learn something that will really torque your brain like Haskell, Erlang, or Scheme. To just learn really good OO techniques, learn, read, and write some Smalltalk.
The best thing to do is to spend ten years or so programming during every waking moment. That's what worked for me!
First of all get start practicing to type all day ! Then get ready to work on minute details which a developer works on everyday like... code shortcuts, coding styles, commenting etc.

Business and application logic? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 2 years ago.
Improve this question
I often see the phrases 'business logic' and 'application logic' in terms of web development (I assume it also applies to programming in general rather than just web development).
This is quite new to me so I don't really know what it means, could anyone please explain me what is exactly meant by this? Is it just a 'buzz word' used by programmers? Or?
Say you write a system which solves a business need for a customer.
The sum of all your code is the application logic, or system architecture - basically the entirety of the system you're building.
The business logic is the code subset which models and drives actual business processes. "What happens when an order for Product X is placed? How is the cost of Product Y calculated?" Ie. the bits of code where you probably need some input from the customer/domain expert/project stakeholder.
Ideally, the business logic is separated into its own tier or layer (see the Wikipedia article on N-tier architecture). The rest of the code can often simply be thought of as infrastructure to help that business logic execute (database wrapper, helper functions, service facades, external integration, GUI, etc).
Business logic is basically rules of the system according to functional specifications. For example Object A of type B must have attributed C and D, but not E.
Application Logic is more of a technical specification, like using Java servlets and OJB to persist to an Oracle database.
In the end, that are buzz words to help describe tiers of technology in an application. Hopefully in an effort to keep various tiers separated making a better application design.
It might be not very accurate, but I use the following thinking to determine whether it's application, business logic or something else:

Resources