I've come up with a quick (and incredibly shoddy) way to tell if I'm using OOP practices. The thing that I like about it is that it's really simple. Use it at your own risk and switch language suffixes as required.
- Count how many *.vb files you have in your current solution. Assign this count to A.
- Then count how many of those are *.ascx.vb files. Assign this count to B.
- Subtract B from A.
If you end up with a value that is greater than 0, chances are that you're using OOP. Of course, you could have some helper files that aren't OOP, but that's where the 'incredibly shoddy' part of this methodology begins to expose itself.
Seriously though, I am absolutely amazed at how many projects do not have any class files other than the code-behind files. Using a code-behind is not OOP. It is procedural programming that is disguised to look like OOP. It is (and this may shock some of you) soooooooo VB6.
For those of you that I've now demoted to VB6 developers, you're in luck. There is help available. Learn what an interface is and why you should use it. Learn what an abstract class and why you should use it. Learn about polymorphism and why it is useful. Read about design patterns.
Trust me ' it will make you a better person. :-)