|
I've increasingly noticed that MVC is almost mandatory for many jobs. I know of it, but I've never worked with it directly. For sure, I could never go to interviews claiming I know it. More of a problem is you can't put in a CV if you don't have hands-on experience and you won't get that unless you work for a place that'll take you on without it.
So, I was wondering if doing MVC stuff at home would give a sufficient leg-up on the MVC ladder. I know I won't master it from home but can you learn enough of it to demonstrate that lightweight knowledge writing samples is worth a company investing in? There are so many concepts and technologies that it's tricky to be a master at all of them. Opinions?
"I do not have to forgive my enemies, I have had them all shot." — Ramón Maria Narváez (1800-68).
"I don't need to shoot my enemies, I don't have any." - Me (2012).
|
|
|
|
|
If you're au fait with one of C# or VB.net along with WebForms, Html, CSS and JavaScript you'll easily be able to learn it to a sufficient level to pass most interviews. I wouldn't look any further than:
http://www.asp.net/mvc[^]
MVC does a lot of the hard work for you - the ModelBinder for instance. You don't even know it's there most of the time, but when it comes to reading form input you'll love it like your own child.
If I was interviewing candidates for positions with an MVC requirement I'd give extra brownie points to candidates who could demonstrate using IoC, ControllerFactories, DependencyResolvers or custom Authorize attributes with MVC.
|
|
|
|
|
MVC is one of those things that a lot of companies use and not a lot of people bother to use correctly. The most important concept is separating your logic from your view. But all to often I see this amazing cluster F of complex code written merely to fit the pattern.
MVC works great for data entry but I have tried it on some complex user interactive forms and it was some of the ugliest code I have written.
|
|
|
|
|
You could start with Shivprasad-koirala's[^] Learn MVC series. I haven't had the time to go through all the articles in the series yet, but they are typically quite clear, organized and easy to follow. The first article in the series: Learn MVC (Model View Controller) step by step in 7 days – Day 1[^]
The key to MVC is to understand the philosophy behind the Model-View-Controller setup, and then to use it and treat the old webforms methodology as evil when in an MVC application.
I also agree with the previous posters that if you are proficient in C# and webforms and have a clear understanding of how the web works(html postbacks, ajax, etc...) then you should have enough knowledge to do interviews. Remember that when people post adverts for jobs they always ask for the world, but know that someone with even 75% of what is being requested is a prime candidate.
I wasn't, now I am, then I won't be anymore.
|
|
|
|
|
Some would say "dont't bother, go straight to MVVM". While I have some sympathy I think actually being able to implement MVC is worth a great deal especially in the Windows world where many of us started out with the failed MVC attempt which is MFC.
It's more about clarity of thinking than practice with any given set of tools in my opinion.
I've never met Marianne but my grandmother was Marion
"The secret of happiness is freedom, and the secret of freedom, courage."
Thucydides (B.C. 460-400)
|
|
|
|
|
"An inside source at Microsoft told me that MVC usage has grown at a rate of about 5% per year and now sits at ~30%. Essentially by focusing so much marketing effort on MVC, Microsoft actually created a larger market demand for it."
Source: Microsoft Declares the Future of ASP.NET ...
MVC is not and will be not the dominant platform. The reason why you see so many job postings with MVC requirements is because of the high failure rate of the MVC projects and the associated attrition.
modified 20-Oct-19 21:02pm.
|
|
|
|
|
PHS241 wrote: I've increasingly noticed that MVC is almost mandatory for many jobs.
No, it's mandatory for the vacancy-description. Seen it often enough, "Should have knowledge of design patterns, MVC and MVP". I usually reply that it's a redundant statement, and that the latter two are already covered by the request for knowledge on patterns.
PHS241 wrote: <layer>For sure, I could never go to interviews claiming I know it.
So don't make that claim. If you're already programming, then learning the pattern would take, what, two, three nights? If someone says that you're not fit for the job because you don't know something that can be learnt in hours, then thank the bloke and be glad with your freedom.
PHS241 wrote: There are so many concepts and technologies that it's tricky to be a master at all of them. Opinions?
Unless one is very gifted, becoming a master in all areas is impossible. Programmers are usually very good at learning new things. Probably because it's part of the job; if it were deterministic, we'd be replaced by machines.
..and yes, some people actually believe that one has to learn the entire documentation on MSDN by heart before you start programming. It'd be more valuable if you train in solving problems (write your own Open Source package, you'll run into them within no-time), in debugging, using the SQL profiler (how often do you see that in a job-description?)
|
|
|
|
|
Yeah unfortunately you cannot master the MS MVC implementation in a couple of days. First obstacle is the convention over configuration principle, so you really have to know a lot about the little quirks that are specific not only to the MS implementation, but also about the version of MVC at hand. There are currently 4 of them, I think not entirely compatible.
Second, MS decided to couple their MVC with their Entity Framework, so when you start dealing with MVC you should really learn that too.
modified 20-Oct-19 21:02pm.
|
|
|
|
|
Sitalkes wrote: Second, MS decided to couple their MVC with their Entity Framework, so when you start dealing with MVC you should really learn that too.
I'll learn what I need, when I need it. Learning Microsofts' take on the MVC-pattern doesn't sound very useful if it's use isn't that widespread and if every software-shop has it's own idea's on how it "should" be implemented.
..and no, I'm not interested in a "cool" project where every static class has been turned into a singleton "just for fun". Unless there's a justification for using it, out it goes.
|
|
|
|
|
Eddy Vluggen wrote: ..and yes, some people actually believe that one has to learn the entire documentation on MSDN by heart before you start programming. It'd be more valuable if you train in solving problems (write your own Open Source package, you'll run into them within no-time), in debugging, using the SQL profiler (how often do you see that in a job-description?)
So true.
CPallini wrote: You cannot argue with agile people so just take the extreme approach and shoot him.
:Smile:
|
|
|
|
|