title: .net development code structure -Controllers, Services, Repositories & Contexts
body: <p>As a new developer I'm getting thoroughly confused by naming and structural conventions for developing c# code using best practice.</p>
  
  <p>I appreciate it's perhaps applicable to each domain I am developing for but I've seen the code of many different open source projects and there seems to be a common theme.  The successful projects have well thought out structure for maintenance and extensibility.</p>
  
  <p>The terms context, service, repository and controllers are used often and I wondered if these are open to interpretation or is there a consensus or convention on what, where or how these get used.</p>
  
  <p>In an e-commerce platform I've seen there are order services, order contexts, customer repositories and product controllers for example. What should they do based on these names?  Does a controller do something different to a service?  When should you use a context?  Is there a convention for namespaces?  It's mind boggling when you try and push from a spoon fed newbie developer and try to move on.</p>
  
  <p>What software/tools should I really be looking at to develop quality code?   Unit Testing, Continous Integration, Resharper, Mocking tools, DOI Containers, nHibernate.  </p>
  
  <p>I'm not really aware of blogs/books that will help me push on from being a proficient web developer into someone who can develop extensible, quality and testable code.   There are big gaps in authors assumptions.  You are either a newbie or a software architect.  </p>
  
  <p>I want to push from being a junior developer with a long term aim of being a software architect.   I realise it's all about patterns and practices but where are the training materials?   I work on my own so don't have the opportunity of learning from others.</p>
  
  <p>Thanks</p>