Wow! After just an hour or two reading comments and descriptive instructions on this supposedly “heady” topic, I finally gave up and read the Wikipedia entry on MVVM. And though it was a little more straightforward about this particular methodology allowing me to correctly place its intrinsic differences amongst other model view structures I’ve dealt with over the years, it still amazed me at how cryptic and intentionally complicated their information seemed to be!
Einstein said, ( and this is by no means a direct quote ), there are two examples of the infinite. One being the Universe itself, and the other being mankind’s ability to be wrong. But he forgot to mention how often we destroy good, simple, information by our seemingly common need to overcomplicate and infuse with overly verbose descriptive analysies the teachings we wish to share with each other. And after reading about MVVM last night I have to say that even at the most basic level, this subject makes a great example of this trend to make simple ideas undecipherable!
Perhaps it’s our way of making ourselves appear to be smarter than we really are. But no matter the underlying reasons, we all need to stop talking and writing in riddles! MVVM isn’t rocket science! nor is it anything new, different, or particularly invaluable for what it is designed to accomplish. In fact, and in relation to many other similar systems used for improving OOP code through isolation, seperation, access and aquisition, it is comparatively simple! The ONLY reason it’s been promoted by Microsoft that I can see is that it is a valid…though not necessarily the best…choice for those programming via the XAML structure they are rightly promoting. They can’t even agree on any particular direction code, structure, and data should flow among the tertiary model MVVM describes! ( That being a good thing )
XAML doesn’t require a descriptive analysis to understand by any programmer experianced with OOP-ified coding practices. It’s self-descriptive and very easy to use for gui alterations applying simple cut and paste. And MVVM is just as simple in its own right. I’m a self-educated programmer who realized the design and implementation benefits of OOP programming and how simple forms of modeling and code seperation could increase productivity and security by the time I had written my second dB program with Delphi 1! And very soon after that I learned to extend these practices…especially as regards code-gui seperation in non-datacentric applications…because it also benefited me to call events via operative code rather than directly within events as most languages today make so dam easy.
Please don’t think I’m bragging or being presumptuous, as I really do see things this way. And a few of the comments I read in response to “Visual Studio” articles on the subject makes me believe I’m not the only one! There’s absolutly no excuse for their making simple concepts so difficult to grok through indescreet overanalysis and complication. It’s unfair to the novice programmer, and a waste of time for those of us already knowledgable in OOP basics! Nuff said!