As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
What is the most popular design pattern in web app?
I know that in asp.net mvc often used dependency injection and repository, but I want to know which additional patterns can I use in web apps. And it would be best if you give me sample of situation in which I can use patterns, or give code snippet.
Most of the design patterns we've developed as software engineers over the last few decades are still applicable for the situations they were designed for. Depending on your needs you will use most of these in web apps at some point.
http://geekswithblogs.net/subodhnpushpak/archive/2009/09/18/the-23-gang-of-four-design-patterns-.-revisited.aspx
Also below is a link to a site that shows quite a few of these patterns and has explanations / examples. They have their own product, which the site is a shop front for, but the site does have examples and contain code samples so may be worth a visit if you feel like it. most in C#
http://www.dofactory.com/Patterns/Patterns.aspx
Singleton is the most popular pattern. It is also one of best know anti-pattern (patterns that are considered to be harmful).
Every newbie uses it, because it lets you use global state, that looks like object oriented code. It also lets you avoid, that confusing dependency injection thing.
As for the "Gang of Four" book, there has been a movement by some uneducated people to remove the Singleton pattern in latest editions, but the attempts has been successfully thwarted.
Or if you have $28... C# Design Strategies with Jon Skeet
I haven't watched it but I do plan to buy it soon.
edit: IMHO the most popular design pattern in asp.net web development is the Smart UI anti-pattern ;)
Related
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
When building an MVC application from scratch without a pre-existing database, is using the code-first approach the best way to do it?
While most applications are database-centric, it is perhaps the schema rather than the database itself that governs how the app is built around it. As such, I think a code-first approach isn't too bad. It was late to the party (happened after database-first and model-first), but I think the code-first approach will become the norm soon.
What's your opinion?
First i think that this link can provide you with more information
In my opinion both of the approaches are useful. A developer/company needs to decide what is the best approach for there system, in some situation.
I think one good distinguish is Big and complex against small and simple applications
I think that developers or companies will prefer "DataBase First" approach when they builds complex application. In most cases DBA's will be needed in such project.
In those cases the project will include Store Procedures/ Triggers and maybe also a Data-ware house
In the other hand when you build a small application with one of small group of developers you probably prefer using "Code First" approach
again this is my opinion...
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I want to develop a personal blogging website using ASP.NET MVC 4.
I know that I could be using WordPress/ Joomla/ Orchard/ Umbraco/ Funnelweb, etc., instead of reinventing the wheel but I really wish to try it out myself.
I do not want my website to look like some beatle-aged archaic remain. I see plugins like Akismet/ Prettify/ Markdown/ nrelate that add amazing functionalities to your blog. But I am not really sure if I would be able to use any of these in my custom application as most of them are PHP based. I want to stick under the Microsoft roof and implement technologies like HTML5, CSS3 Silverlight5 and WCF 4.0, along with ASP.NET MVC 4. (At least thats what I plan to do)
I understand that I need to develop a scalable database design that could accomodate newer functionalities in the future. Additionally, the exorbitant focus on SEO and cross-browser capabilities is overwhelming. Permanent links for individual blogs, internal navigation, video-embedding inside posts, etc., sound like building Rome in a day
Please if you could guide me personally or direct me to appropriate resources, it would be very helpful.
I am sort of doing it right now on my own. It's not done yet but it will give you an idea: MvcBloggy.
Also, have a look at FunnelWeb source code. It's written in C# and uses ASP.NET MVC 3 I believe but it's a really good resource and easy to follow.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I'm a college student trying to make a web community with friends. Although we are not experienced developers by any means, we have taken courses on JAVA and some web programming languages (PHP, JAVASCRIPT, CSS, HTML).
At this point, we need to decide on a web framework and begin learning. I have narrowed down my list to Ruby on Rails and Codeigniter, but I am really not sure why I should pick one over the other.
Thanks in advance.
Pick the one you want to learn and go with it.
I will personally recommend Rails because:
it teaches you a lot of best practices if you do things the Rails Way™
Ruby is a fun, easy-to-learn, expressive language
the community is really big, enthusiastic, and very helpful
there's great books and tutorials available all over the internet
There is nothing like the good framework. It highly depends on, in no particular order :
your skills
your tastes (Yes, it does matter a lot)
your willingness to learn
technical constraints. Your hosting company may support only Ruby or only PHP
...
I personally had the occasion to develop with CodeIgniter and I pretty much enjoyed it. It is light, well documented and leaves you with a lot of freedom.
I also have a good friend for whom Ruby On Rails is the only framework deserving the name of "framework".
If your project is ambitious, a good idea to make your point could be to make a trivial application like a TODO list with both framework and then pick the one that fits your need.
Hope this helps.
If there is no time constraint (as you need to learn both ruby lang and rails framework) and want to know the best practices, i would recommend RubyonRails.
If you have time constraint, then go ahead with Codeigniter. It is easy to learn and well documented.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 12 years ago.
I am starting a website and am wondering if I should go with PHP, a php framework, or ruby on rails? I want to make a website fast, easiest and without a big learning curve. I already know a little bit of php and a little ruby on rails...But which would be best?
OK so to clarify more on the topic of what my site will be, It's basically a Classified Ads website that needs to have a user login, ability to post classifieds, and categorizing, and basically anything else a classified website has.
I would put my vote in for Rails. It's easy to get started building a website that requires persistence in a database, and there are many websites that host the framework. I agree with #Squeegy that PHP is great for sprinkling dynamic content into an otherwise static page, but it sounds to me that you want something more involved, so I would go with Rails.
Start with anything you know better.
PHP is great for sprinkling bits of dynamic content into a website. Given your requirements "fast, easiest and without a big learning curve" I think PHP would be ideal.
Now a large and more complex site, that would be much better suited to a framework. But with any framework also comes steep learning curve.
Codeigniter.com, try it out, it rocks.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
are there books on designing highly scalable web sites?
(from a programmers perspective)
I read how ebay does it:
Partition by Function, Split Horizontally, Avoid Distributed Transactions, Decouple Functions Asynchronously, Move Processing To Asynchronous Flows, Virtualize At All Levels, Cache Appropriately.
Are these things actually taught or it is so niche that there isn't really any books on these topics?
The best I've found is
Scalable Internet Architectures
Building Scalable Web Sites has a good reputation.
Not sure on books but heres a good reference for Building highly scalable applications
Web-servers are stateless, web-application are statefull -- this leads to dependance on a data-layer to persist state. Relational databases are often the weakness to hard-core scaleability. For this reason I suggest looking at the research papers and presentations from the nosql community.
Nosql databases provide plug&play expansion, and require programming changes from the web-applications, therefore you will learn a lot about scalability from the material.
You will enough material by scholar.google.com'ing the names of the nosql databases.
I've written an eBook called "Web Scaling vol. 1" for Small Architectures. It has a few interesting examples for caching, splitting database reads/writes, and load-balancing across a pool of web servers. It might be of interest.
http://scalingexperts.com/books