Reputation
29,693
Next tag badge:
97/100 score
21/20 answers
Badges
3 61 108
Newest
 design
Impact
~1.1m people reached

Jun
28
reviewed Close .jar file to interact with C++ console application
Jun
28
awarded  Great Answer
Jun
28
comment How should I handle test services not connecting to Production DB?
what configuration file? This seems very isolated to a particular framework, and not architecture in general.
Jun
28
awarded  Nice Answer
Jun
27
reviewed Approve Should you write your back-end as an API?
Jun
27
revised Should you write your back-end as an API?
added 1274 characters in body
Jun
27
comment Should you write your back-end as an API?
@SLC that would require a blog, not a comment... but think: MVC is a 'poor mans' 3-tier design, all the tiers are bundled together; then think that every DB request is a remote execution to an external service. So you may have a simple GetUser() call, but if that turns into a DB access, its already going over the network in a way you think is inefficient. With a service between the DB and your website, you are only moving the slow calls into a different thing, one that can cache data and resolving it without the need to hit the DB all the time. This can make your API faster, if designed ok.
Jun
26
comment Should you write your back-end as an API?
I think Linus made git because the Linux community rebelled against the use of the commercial Bitkeeper DVCS that was used for the kernel.
Jun
26
awarded  Enlightened
Jun
26
awarded  Good Answer
Jun
25
awarded  Good Answer
Jun
25
awarded  Nice Answer
Jun
25
comment How to reduce reworking?
I disagree too - telling someone to learn by reading everything just paralyses them with even more indecision, and when they do start they'll never get it right as there's always a different way of doing the same thing. Experience is the only thing that really gets you good at design, and doing it and learning from mistakes works really well.
Jun
25
comment How to reduce reworking?
you already know how to do it - plan your design upfront. That you're not too good at this is another matter, but you will get better at it through practice and experience. Then, when you have these skills, you too can tut, shake your head and say "you kids refactoring everything, you need to learn to design up front". That's the best part of it :-)
Jun
25
awarded  Nice Answer
Jun
25
revised Should you write your back-end as an API?
added 2302 characters in body
Jun
25
comment Should you write your back-end as an API?
Imagine you're writing it as a website - all those tiny functions cannot be as interactive as you imagine, so you'll have to get the data and cache it locally while you construct your page (or pass them as potentially stale data to the client, as appropriate to the system). For a lot of this, you have to change your design from "react on demand" to "anticipate up front" but most of your system will be making API calls. Design your API to be less granular and more data-centric, so IsUserLoggedOn doesn't have to be an API call, you only need a "GetUserDetails" once that you then inspect locally.
Jun
25
comment Is it a common practice to first develop a RESTful backend (no MVC), then build thin client on top of it
See programmers.stackexchange.com/questions/287819/… as a duplicate.
Jun
25
comment Is it a common practice to first develop a RESTful backend (no MVC), then build thin client on top of it
It isn't what tends to happen in the enterprise as there are so many factors involved in building products (eg generally reuse existing code, or create new stuff from scratch quickly) but your approach will work, and will work very well. (personally I'd create the REST service using a different technology so in turn, don't tie the backend service to ASP.NET, you may find WCF services are much better)
Jun
25
answered Should you write your back-end as an API?