Applying Best Practices

Welcome and thank you for visiting this site.

The following is an outline of the proposed book.

Title: Applying Best Practices In Software Development
( using C# and ASP.NET 3.5 )
Author: Kishore Reddy
( Entreprenuer – Founder of www.KnowledgeDrink.com )
Audience: Mid – Senior level developers
Summary: This book discusses and provides concrete real-world examples of several best practices in the different areas related to application development. These areas include Build automation, Testing, Application Architecture, Database guidelines and more. This book explains what the best practices / principles in the different areas are and how and why to use them.
Included in the book is the full source code to a sample web application that is very similar to KnowledgeDrink.com
Related books Applying Domain-Driven Design and Patterns: With Examples in C# and .NET,
ASP.NET 2.0 Website Programming: Problem – Design – Solution

Proposed Chapters:
See below for chapter details / breakdown

Chapter 1 Introduction
Chapter 2 Application Architecture
Chapter 3 Build Automation & Release Management
Chapter 4 Testing & Quality Control
Chapter 5 Design Principles
Chapter 6 Database Practices
Chapter 7 Developing Software Components
Chapter 8 Core Application Features
Chapter 9 Domain Driven Development of Business Features
*Chapter 10 Project Management

Indivdual chapter details

Chapter 1 Introduction
Short discussions on the following:
– How this book is structured
– Overview of Sample Application
( variation of KnowledgeDrink.com )
– Important Principles
– Knowledge Sharing
– Tools of the Trade
– List of valuable on-line resources
– Best practice checklist
Chapter 2 Application Architechture
– Folder structure
– Partitioning & Layering the application
– Support for units tests
– Use of Third-Party libraries and frameworks
– Domain Driven Development
– Database integration
– Best practice checklist
Chapter 3 Build Automation & Release Management
– Automating builds with NAnt scripts
– Reusing NAnt scripts for CruiseControl.NET
– Automating configuration and deployment of application.
– Managing builds on source code repository branches
– Best practice checklist
Chapter 4 Testing & Quality Control
– Fake and Mock objects
– Unit Testing
– Integration Testing
– Test-Driven Development
– Documenting test cases
– Properly performing testing for a release
– Code coverage of tests
– Best practice checklist
Chapter 5 Design Principles
– Quick references to GoF Design Patterns
– Single Responsibility Principle
– Open-Closed Principle
– Interface based programming
– MVC / MVP – Model View Controller / Presenter
– ORM ( Object-Relational Mapping )
– IoC / Dependency Injection
– Declarative Progrogramming
– Provider Model
– Service Locator
– AOP ( Aspect Oriented Programming )
– Best practice checklist
Chapter 6 Database Practices
– Manage database and schema with scripts
– Managing database upgrade via scripts
– Standards and coding conventions
– ORM ( object relational mapping )
– Testing the database
– Best practice checklist
Chapter 7 Developing Software Components
– Developing reusable components
– An eye for design & API development
– Minimizing dependencies
– Facilitating distribution
– Some examples
– Best practice checklist
Chapter 8 Core Application Features
– Support an effective validation mechanism
– Support for configuration settings
– Importance of Import / Export
– Support for Error logs
– Support for reports and ad-hoc reporting
– Support for Job-Scheduling
– Management of Users and Security
– Easy support of cache and cache management
– Best practice checklist
Chapter 9 Domain Driven Development of Business Features
– Explanation of Domain-Driven Development
– Overview of developing the Events feature (Sample Application)
– Quick Diagrams and mock ups
– Focus on the Domain (Business Objects)
– How the different layers/partitions play their role
– Applying Test-Driven development
– Incorporating Validation
– Persisting the business objects
– Best practice checklist
* Chapter 10 Project Management
– The many different approaches to Project Management
– Common Important themes across the different approaches
– Some notes on “Agile development”
– Best Practice Checklist

* May not be part of proposed book.

Advertisements

Responses

  1. Thanks, I enjoyed reading your post. Its nice to see someone writing something worth reading. Take care.

    – Jack

  2. Great blog. I’d be interested in helping you with your book project. Check out my publishing services at habitatmart.com/fnp.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: