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 9 years ago.
Improve this question
As a C++ developer from the 90s during the great OOP wars, I put high value to OOP as a basis for hiring new C# developers into the company.
However, there are plenty of frameworks today like ASP.NET MVC that handles most of the OOP heavy lifting. Programmers without deep knowledge of OOP can just as easily follow the paradigm and still be able to complete their projects. OOP may not be as compelling as it was before for us application developers, especially with a framework like MVC.
I can see a few instance where OOP will be really handy, like for example developing a workflow type of a project. Or those with state-machine requirements. But really, most projects that really come by (at least to us here anyway) are just CRUD functionalities.
Below is my list when hiring. Is it fair to have OOP there as the number one item?
OOP and Design
Server side programming: C#, ASP.NET MVC and EF
Client side programming: JQuery, CSS, HTML, etc.
Database design
OOP-thinking indicates, that candidate is good at project-architecture. You always need to implement some reusable components, classes, functions, and of course libraries. From my point of view, it is must have for any candidate to know OOP and Design Patterns to be hired.
Related
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
When I was googling, I just saw that there are a number of software frameworks present. Like this,
ASP.NET - MonoRail
Java - Google Web Toolkit
JavaScript - Backbone.js
php - CakePHP
Python - Django
Ruby - Ruby on Rails
So my quection is this.
Why we use frameworks and why we spent time to learning frameworks instead of learning more advanced techniques of the programming language?
Are there any disadvantage of using a framework? (specially reduction of speed when using server-side or client-side frameworks)
So frameworks are really just collections of functions and libraries pieced together to make it easier to perform a particular tasks.
In the case of your question, you're looking primarily at web frameworks. Which make it easier to write web servers in these languages. Python Django is a great framework because it handles all of the web stuff for you. (http requests and traffic routing) and allows you to simply specify what code will run when your app takes certain requests.
So in short, frameworks try make it easier to do certain things. Of course different people think different ways to do things are easier, so that's why we have so many different kinds of frameworks.
Feel free to ask any questions. Hope this helps!
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 9 years ago.
Improve this question
I am starting new medium size ASP.Net MVC project. There will be 50-60 tables. IE: employee tables(assigning training etc/) , basic warehouse management,. There wont be complicated workflows also.
I am looking for the ways to reduce my development time.
Scaffolding is a good starting point but hard to manage.
I could not decide about using AngularJS SPA or not, Using angular JS reduce the development time ? Or what is the advangates of using angular ?
What is your recommandations about reducing the development time on ASP.Net MVC projects, which ways are you using to building medium size applications.
I don't know your experience with MVC, but generally speaking, I'd suggest to use a UI Framework (like Telerik, DevExpress or Aspnetawesome) because they offer plenty of example on how to organize your project. It definitly saves you time. Then which one you choose depends on your preference and budget. All 3 are good.
As for managing your data, just create a Domain project which will only contain your data access (probably repositories). For that project, it is no different from a normal C# project. You'll probably want to use Entity Framework, nHibernate or a similar ORM.
So to recap, divide your solution in at least 2 projects, one for the data and one for the UI, then use a UI framework for the MVC project and an ORM for the data access.
As for AngularJS, I would not focus on such tool unless you are really comfortable with MVC.
Pros:
On the long term, you may save some time
It is free
It is well supported and seems to be there to last
Cons:
If you are part (now or eventually) of a team, not all members will
know that tool
If you are comfortable with MVC, this will not save you significant time in my opinion. You don't become an MVC superstar
because of it
If you are not that comfortable with MVC, incorporating such tool is a bad idea. It is better to know a few tools but to use them
properly than to poorly use many of them.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
Is MVC a design pattern only or Programming Technology? If I violation the MVC pattern like ASP.Net Form Application then any performance issue arise or not.?
MVC is neither a design pattern or a technology. It's a software architecture pattern. See:
http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller
The difference between a design pattern and a software architecture pattern is that design patterns tend to be simpler and apply to specific components of an application, while architecture patterns are broader and apply to the application as a whole.
In any event, there is also various pieces of technology called MVC, which are based on the MVC pattern. For instance, ASP.NET MVC is the official name for the flavor of MVC created by Microsoft for use in web applications. This is a specific implementation of MVC.
Violation of the MVC pattern has nothing to do with performance, and is largely an issue dealing with maintainability. The MVC pattern stresses separation of concerns to make designing and maintaining your application easier, and making your application less fragile to change.
MVC is just a architecture pattern not a technology, and its goal is separating concerns, you should know something that you can use MVC pattern and Webforms together, and if MVC does not separate Model View and Controller then you are doing something else not MVC
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 8 years ago.
Improve this question
These days my friends recommend me to use ASP.NET MVC, instead of ASP.Net Web-forms.
But I'm not Optimist to it.
I consulate about this problem and my friends said me that these two technologies have their own place in web programming zone, according to the project type.
Now I want to know what type of projects are better to be developed by ASP.Net MVC?
and the 2nd question, In your opinion is it conceivable that Microsoft abandon this technology?
Nowadays i always use mvc for all my new projects it is much more cleaner code. And you dont have to rely on asp.net web controls i dont think web controls render nice html.
Plus that you dont have to think about viewstates.
ASP.NET mvc can apply on all type of projects it is more the way how you like too code then which type of project. Thats my opionen.
I doubt very much it will be abandoned any time soon.
MVC is a different way of working and probably more suited to a kind of developer as well as a kind of project. It gives better control over your markup and front end code, forces better practice for separation of concerns and hands over a lot more power over how the site works.
This is a broad subject and better suited to https://softwareengineering.stackexchange.com/
If you rely a lot on the ASP.NET Web Controls then you may find MVC difficult to get to grips with at first.
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 5 years ago.
Improve this question
I know what is ASP.net and I know what is MVC and some other Design patterns , my question is why did microsoft choose this design pattern ? why not ASP.net 3tiers or ASP.net AOP ...etc is it easier to program with , more powerful for building websites? in other words what are the advantages to use MVC instead of other Design Patterns with ASP.net?
MVC is a strong pattern and has proved very popular in other development communities including but not limited to Ruby on Rails. Wikipedia has a long list of MVC web frameworks. I guess Microsoft, didn't want to be left behind as more and more people migrated away from WebForms.
My guess would be that it is a proven and very suitable pattern for the web. MVC fits very well with the stateless nature of the http protocol. And many other big web frameworks for other languages use the MVC pattern.