Architecture Tutorials & Articles
-
How power–friendly is your software?
by Dave ValdovinosRising consumer demand for power-efficient products has driven computer manufacturers to develop and build ever-sophisticated power-management technologies into their devices. In the case of PCs, several hardware and software components must function in harmony if significant power savings are to be realised. This article examines the often overlooked and significant role played by application software in reducing PC power usage.
-
Advanced scenarios with Windows Azure Queues
by Maarten BalliauwQueues can be an incredibly scalable component in any application architecture - we take a look at state machines and back-off polling
-
Flush and Clear: O/R Mapping Anti-Patterns
by Mirko Novakovic Alois ReitbauerFive Hibernate and JPA anti-patterns, plus tips on how to prevent problems with O/R mappers.
-
Engineering in the cloud: an Engineering Software + Services architecture forged in turbulent times
by Peter Williams Simon CoxThis article describes both the architectural challenges that are inherent in implementing “Engineering in the Cloud” and an architecture that we call “Engineering Software + Services”.
-
The Flyweight pattern
by Garfield MooreHow can you create a multitude of instances without having to pay the cost of instantiating each object? Garfield Moore introduces and discusses an appropriate design pattern.
-
Real world refactoring
by Neal FordNeal Ford argues that small is still beautiful, and if you are writing long methods then it's time to think “refactor”
-
Iterators, composites and visitors
by Dave WheelerThe composites and visitors patterns can help to make your iterators simpler and more robust. Dave Wheeler explains how it all fits together.
-
5 frameworks every software architect should consider
by Lior MessingerA set of common architectural modules, that every system should have.
-
Dependency injection
by Dave WheelerIf you don't like injections, look away now. Dave Wheeler however thinks that dependency injection is something we should all know about and use.
-
Managing software dependencies: a lesson from the credit crunch
by Jason GormanMake no mistake; we live in troubled times. But could the current credit crisis teach us anything about how we can design our software so that it will be more resilient to change?
-
Software reuse for business success
by Syed Raza Kirk KnoernschildEnabling re-use through Component Based Development.
-
Application Factories
by Ravi KumarMoving from a generic IDE to an application-specific IDE.
-
Ever-decreasing cycles
by Jason GormanTowards continuous, real-time quality feedback.
-
Grand designs
by Mike JamesThe big issue in software architecture is usually the choice between global and local implementation. Mike James explains why we tend to miss the obvious.
-
How to avoid your SOA initiative becoming a big ‘So What?'
by Tony ScealesFor the past few years service-oriented architectures have been promoted as the panacea of the IT world, but cracks in the SOA hegemony are already beginning to appear. Celona Technologies' Tony Sceales examines the hype, hope and reality surrounding SOA, and points out some home truths that anyone embarking on a SOA programme would be well advised to take note of.
-
ASP.NET Model View Controller Part 2
by Kevin JonesRouting and testing are key ideas in using the ASP.NET MVC. Kevin Jones explains how it works.
-
Solving data access problems in SOA environments
by Mike FrostThe business flexibility and return on investment (ROI) promised by use of a Service Oriented Architecture (SOA) can be maximised through implementation of data access ‘best practices'.
-
Web welcome for MVC
by Kevin JonesWith the release of the Microsoft MVC library, Kevin Jones thinks it's time to look closely at the ASP.NET Model View Controller Architecture.
-
Breaking the SOA logjam
by Steve CraggsCould a slowdown in SOA adoption be down to bad communication, or is there a fundamental problem with concepts?
-
Architecture and Innovation
by Mitch RuebushHarnessing the abilities of your team to produce innovative solutions is the key to successful large-scale products.