architecture

Split data access class into reader and writer or combine them?

This might be on the "discussy" side, but I would really like to hear your view on this. Previously I have often written data access classes that handled both reading and writing, which often led to poor naming, like FooIoHandler etc. The rule of thumb that classes that are hard to name probably are poorly designed suggests that this is...

Alternative "architectural" approaches to javaScript client code?

How is your javaScript code organized? Does it follow patterns like MVC, or something else? I've been working on a side project for some time now, and the further I get, the more my webpage has turned into a full-featured application. Right now, I'm sticking with jQuery, however, the logic on the page is growing to a point where some o...

How do you build a ratings implementation?

We have need for a "rating" system in a project we are working on, similar to the one in SO. However, in ours there are multiple entities that need to be "tagged" with a vote up (only up, never down, like an increment). Sometimes we will need to show all of the entities in order of what is rated highest, regardless of entity type, basica...

How to expose a collection property?

Every time I create an object that has a collection property I go back and forth on the best way to do it? public property with a getter that returns a reference to private variable explicit get_ObjList and set_ObjList methods that return and create new or cloned objects every time explicit get_ObjList that returns an IEnumerator and a...

What is the best architecture to bridge to XMPP?

If I have a separate system with its own concept of users and presence, what is the most appropriate architecture for creating a bridge to an XMPP server network? As far as I can tell there are three primary ways: Act as a server. This creates one touchpoint, but I fear it has implications for compatibility, and potentially creates c...

Database exception handling best practices

How do you handle database exceptions in your application? Are you trying to validate data prior passing it to DB or just relying on DB schema validation logic? Do you try to recover from some kind of DB errors (e.g. timeouts)? Here are some approaches: Validate data prior passing it to DB Left validation to DB and handle DB exception...

Transactions best practices

How much do you rely on database transactions? Do you prefer small or large transaction scopes ? Do you prefer client side transaction handling (e.g. TransactionScope in .NET) over server side transactions or vice-versa? What about nested transactions? Do you have some tips&tricks related to transactions ? Any gotchas you...

Keeping validation logic in sync between server and client sides

In my previous question most commenters agreed that having validation logic both at client & server sides is a good thing. However there is a problem - you need to keep your validation rules in sync between database and client code. So the question is how can we deal with it ? One approach is to use ORM techniques, modern ORM to...

Coupling and cohesion

I'm trying to boil down the concepts of coupling and cohesion to a concise definition. Can someone give me a short and understandable explanation (shorter than the definitions on Wikipedia here and here)? How do they interact? Thanks. Anybody have a good, short example? ...

What is the best way to migrate an existing messy webapp to elegant MVC?

I joined a new company about a month ago. The company is rather small in size and has pretty strong "start-up" feel to it. I'm working as a Java developer on a team of 3 others. The company primarily sells a service to for businesses/business-type people to use in communicating with each other. One of the main things I have been, and wi...

Server centered vs. client centered architecture

For a typical business application, should the focus be on client processing via AJAX i.e. pull the data from the server and process it on the client or would you suggest a more classic ASP.Net approach with the server being responsible for handling most of the UI events? I find it hard to come up with a good 'default architecture' from ...

Getting started with modern software architecture and design using a book

I am a rather oldschool developer with some basic knowledge of software design principles and a good background on classic (gof) design patterns. While I continue my life as such I see lots of strange buzzwords emerge: Aspectoriented Design, Componentoriented Design, Domain Driven Design, Domain Specific Languages, Serviceoriented (SOA...

how would you architect a desktop application in C# 3.0

Hi I've created a simple desktop application in C# 3.0 to learn some C#, wpf and .Net 3.5. My application essentially reads data from a csv file and stores it in a SQL server CE database. I use sqlmetal to generate the ORM code for the database. My first iteration of this app is ugly as hell and I'm in the process of refactoring it. Whi...

web site structure/architecture

What web site structure(s)/architecture(s) would the community swear by, with a narrowing down in the direction towards more of a small facebook style project? I understand the question to be rather broad/subjective; but being relatively new to the area of web development, I find just looking at and learning from examples of working pro...

Best practices for integrating third-party modules into your app

We have a few projects that involve building an application that is composed of maybe 50% custom functionality, but then pulls in, say, a wiki, a forum, and other components that are "wheels" that have already been invented that we do not wish to re-write from scratch. These third-party applications usually have their own databases, the...

Is it wrong to get feedback from Stack Overflow on a live system architecture?

I am the technical director at a startup, and I will eventually be tasked with implementing a "real" system architecture when we hire more programmers. Right now our clients are small enough, and it is just me, so documented deployments, source control, unit tests and quality assurance servers are non-existent. Eventually I will need to ...

Define realtime on the web for business

It drives me nuts to hear business proponents using the term realtime for web-based systems. I'm becoming the crazy in the room, chanting, "There is no such thing as realtime on the web! We're in banking, not the rocket launch/ship navigation/airplane autopilot business!" Anyone have anything better for performance specifications than...

What do you use to create a website architecture?

Sure, we can use a simple bulleted list or a mindmap. But, there must be a better, more interactive way. What do you use when starting your website architecture? ...

Conferences and training for architects, best practices,

It's getting close to the time when I need to submit training and travel requests. I'm looking for conferences and classes in the coming 12 months that are geared toward improving coding and software development, best practices, system architecture, etc. They need to be in the US or Canada since I'll never get approval for anything else....

How well does .NET scale?

(I'll begin by making it clear, I am not a .NET developer and am not tied to any other environment.) Recently, I heard that the London Stock Exchange went down for an entire day. I've also heard that the software was written in .NET. Up to this point they would experience performance hits on busy days. People seem to be blaming .NET. ...