Re: Updating vb6/vba knowledge - too late to teach old dog new tricks?




"gkbrenne" <gkbrenne@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message news:FD2AA6A6-B48D-4ED2-AA30-98776D6C081F@xxxxxxxxxxxxxxxx
I feel like I've been left behind. I've been happiliy programming in VBA,
some VB6, and VB Scripting with ASP. Lately, when I search the web for code
snippets, it's harder and harder to NOT find something to do with dot net.

So, this old dog is ready to learn some new tricks. But I have no idea
where to start! Does it matter if I start with 2008 or 2005? What is the
express version? Is there a great learning book that I can start with?

http://msdn.microsoft.com/en-us/beginner/default.aspx

All of the Express versions are free to download and use, even SQL Server 2008. I would go with VS 2008 as it's the latest and greatest.

Here is some stuff that will give you a push, and some of it, you can only find on VS 2008.

If you're an old pro, then you'll come up to speed quickly. VB.NET is an OOP language.


What is Object-oriented-programming?

(OOP) is a programming paradigm that uses "objects" and their interactions to design applications and computer programs.

The key concepts of OOP are the following:

Class

Object

Instance

Method

Message passing

Inheritance

Abstraction

Encapsulation

Polymorphism

Decoupling



<http://en.wikipedia.org/wiki/Object-oriented_programming>

No matter what development platform Java, .Net or others OPP is OPP.

<http://math.hws.edu/eck/cs124/downloads/OOP2_from_Univ_KwaZulu-Natal.pdf>

<http://www.blackwasp.co.uk/ObjectOrientedConcepts.aspx>



What are design patterns?

Design patterns are recurring solutions to software design problems you find again and again in real-world application development. Patterns are about design and interaction of objects, as well as providing a communication platform concerning elegant, reusable solutions to commonly encountered programming challenges.

<http://www.developer.com/design/article.php/1502691>

<http://www.dofactory.com/Patterns/Patterns.aspx>

<http://computerprogramming.suite101.com/article.cfm/patterns_and_antipatterns>

<http://msdn.microsoft.com/en-us/library/ms954638.aspx>

<http://www.designpatternsfor.net/Presentations.aspx?tid=3&cid=4>



What is Domain Driven Design?

(DDD) is an approach to the design of software, based on the two premises [1] that complex domain designs should be based on a model, and that, for most software projects, the primary focus should be on the domain and domain logic (as opposed to being the particular technology used to implement the system).

<http://en.wikipedia.org/wiki/Domain-driven_design>



What is Test Driven Design?

(TDD) is a software development technique that uses short development iterations based on pre-written test cases that define desired improvements or new functions. Each iteration produces code necessary to pass that iteration's tests. Finally, the programmer or team refactors the code to accommodate changes. A key TDD concept is that preparing tests before coding facilitates rapid feedback changes. Note that test-driven development is a software design method, not merely a method of testing.

<http://en.wikipedia.org/wiki/Test-driven_development>

<http://weblogs.asp.net/rhurlbut/archive/2007/07/16/another-tdd-and-ddd-success-story.aspx>



I really can’t find a link on this information. So a link to a book might be helpful.

<http://whitepapers.zdnet.com/abstract.aspx?docid=260168>



What is Unified Modeling Language?

(UML) is a standardized general-purpose modeling language in the field of software engineering. UML includes a set of graphical notation techniques to create abstract models of specific systems.



<http://en.wikipedia.org/wiki/Unified_Modeling_Language>

<http://www.smartdraw.com/tutorials/software/uml/tutorial_01.htm>



What is Model –View- Controller?

(MVC) is an architectural pattern used in software engineering. Successful use of the pattern isolates business logic from user interface considerations, resulting in an application where it is easier to modify either the visual appearance of the application or the underlying business rules without affecting the other. In MVC, the model represents the information (the data) of the application; the view corresponds to elements of the user interface such as text, checkbox items, and so forth; and the controller manages the communication of data and the business rules used to manipulate the data to and from the model.

<http://en.wikipedia.org/wiki/Model-view-controller>

<http://msdn.microsoft.com/en-us/library/ms978748.aspx>

<http://weblogs.asp.net/scottgu/archive/2007/10/14/asp-net-mvc-framework.aspx>

<http://cristobal.baray.com/indiana/projects/mvc.html>

<http://www.devx.com/dotnet/Article/29992/0/page/1>



What is Model –View- Presenter?

MVP is a software pattern considered a derivative of the Model-view-controller.

<http://en.wikipedia.org/wiki/Model_View_Presenter>

<http://msdn.microsoft.com/en-us/magazine/cc188690.aspx>

<http://mrrask.files.wordpress.com/2008/01/model-view-presenter.pdf>

<http://www.mvcsharp.org/Reworking_ASPNET_MVC_Store/Default.aspx>

<http://www.codeproject.com/KB/aspnet/ModelViewPresenter1.aspx?fid=1531640&df=90&mpp=25&noise=3&sort=Position&view=Quick&select=2822806#Reusing%20the%20presenter%20in%20windows>

<http://codebetter.com/blogs/jeremy.miller/archive/2006/02/01/test-driven-development-with-asp-net-and-the-model-view-presenter-pattern.aspx>



MODEL-VIEW-PRESENTER

<http://www.polymorphicpodcast.com/>

click 'Shows'

click 'Design Patterns Bootcamp: Model View * Patterns*

view parts 1-5



What is Object Relational Mapping?

(ORM) is a programming technique for converting data between incompatible type systems in relational databases and object-oriented programming languages. This creates, in effect, a "virtual object database," which can be used from within the programming language. There are both free and commercial packages available that perform object-relational mapping, although some programmers opt to create their own ORM tools.

<http://en.wikipedia.org/wiki/O-RM>

http://www.objectmatter.com/vbsf/docs/maptool/ormapping.html



What is Language Integrated Query?

LINQ is a Microsoft .NET Framework component that adds native data querying capabilities to .NET languages.

Microsoft LINQ defines a set of query operators that can be used to query, project and filter data in arrays, enumerable classes, XML, relational database, and third party data sources. While it allows any data source to be queried, it requires that the data be encapsulated as objects. So, if the data source does not natively store data as objects, the data must be mapped to the object domain. Queries written using the query operators are executed either by the LINQ query processing engine or, via an extension mechanism, handed over to LINQ providers which either implement a separate query processing engine or translate to a different format to be executed on a separate data store (such as on a database server as SQL queries). The results of a query are returned as a collection of in-memory objects that can be enumerated using a standard iterator function such as C#'s foreach.

Many of the concepts that LINQ has introduced were originally tested in Microsoft's Cω research project. LINQ was released as a part of .NET Framework 3.5 on November 19, 2007.

<http://en.wikipedia.org/wiki/Language_Integrated_Query>



What is Linq-to-SQL?

LINQ to SQL, a component of Visual Studio Code Name "Orcas", provides a run-time infrastructure for managing relational data as objects without losing the ability to query. It does this by translating language-integrated queries into SQL for execution by the database, and then translating the tabular results back into objects you define. Your application is then free to manipulate the objects while LINQ to SQL stays in the background tracking your changes automatically.

<http://msdn.microsoft.com/en-us/library/bb425822.aspx>



What is ADO.NET Entities framework?

ADO.NET Entity Framework is an object-relational mapping (ORM) framework for the .NET Framework. This framework is Microsoft's first ORM offering for the ..NET Framework. While Microsoft provided objects to manage the Object-relational impedance mismatch (such as a DataSet).

ADO.NET Entity Framework is included with .NET Framework 3.5 Service Pack 1 and Visual Studio 2008 Service Pack 1, released on 11 Aug 2008. It also includes the capability of executing LINQ against ADO.NET Entity Framework entities

<http://en.wikipedia.org/wiki/ADO.NET_Entity_Framework>

<http://msdn.microsoft.com/en-us/library/aa697427(VS.80).aspx>

<http://www.springerlink.com/content/kg3216v2014r00u0/>



A good LINQ book is isbn 1-933988-16-9, which you can download the examples.



The ebook is free.

<http://www.free-ebooks-download.org/free-ebook/dotnet/CSharp/pro-linq-language-integrated-query-in-csharp-2008.php>

You can go to Apress and download the example code for the book.

You can take this tool and convert the code from C# to VB and see the
equivalent of the code between the two languages.

<http://www.developerfusion.com/tools/convert/csharp-to-vb/>

You stop when the book wants you to put the example project together. You
don't need that.

The book will cover Linq-To-SQL, ADO.NET Entity and ESQL.

You can do this tutorial just for a quick touch and feel.

<http://www.vbforums.com/showthread.php?t=540421>

You should get yourself an good ADO.NET book.

Here is some other Web stuff that's only on VS 2008, which there are 10 learning sessions.

<http://www.asp.net/dynamicdata/default.aspx?supportsjs=true>

<http://pragmaticworks.com/community/blogs/darrenherbold/archive/2008/10/06/vs2008-reports-web-site-project-type.aspx>













.



Relevant Pages

  • Re: T-SQL Break Out
    ... You may want to look at ADO.Net Entities Framework, ESQL, and LINQ-to-Entities, since you're a DBA, which I must say is fabulous technology. ... is a programming paradigm that uses "objects" and their interactions to design applications and computer programs. ... Microsoft LINQ defines a set of query operators that can be used to query, project and filter data in arrays, enumerable classes, XML, relational database, and third party data sources. ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: Table schema for user login system?
    ... afterall, it's my framework;). ... when i first started studying application design ... Why would you not take advantage of something the database provides, ... SQL is an extensive language so you don't have to bother dealing with ...
    (comp.lang.php)
  • Re: OODesign - OPF, design pattern
    ... What I had in mind were very specific design patterns, ... It's under their control, for goodness ... but once I had reached a point where I could stop "tweaking" the framework to handle scenarios that I hadn't previously thought of the development time suddenly increased dramatically. ... once you zoom in even just a little, OO design reveals more layers. ...
    (borland.public.delphi.non-technical)
  • Re: Model Check Inside - Out
    ... The use of design patterns make your application ... encapsulate operations to eliminate dependencies on specific operations. ... For example, a framework ...
    (comp.lang.misc)
  • Re: The structure of PHP/Web Application coding.
    ... From your mentioning of Design Patterns i assume you want to/are practicing OOP. ... Refactoring should start allmost immediately from the start of any project and is to be done so frequently that it comes close to being done "all te time". ... IMHO a framework is simply the outcome of applying the principles of XP over the development of several similar applications. ...
    (comp.lang.php)