InfoQ Homepage Architecture & Design Content on InfoQ
-
File System Transactions - still a problem area?
Historically transaction-processing systems have relied primarily, if not solely, on databases to handle the ACID aspects of any IO activities that required to be transactional. The support for transactions for file system operations has been weak at either the libraries/frameworks, languages or file system levels. Lately, this situation is starting to show signs of improvement.
-
-
InfoQ Interview: Jimmy Nilsson on LINQ to SQL
Floyd interviews Jimmy Nilsson on Microsoft's data access mechanism, LINQ to SQL.
-
Component Composition Strategies and Tactics
With the advent of Spring and the development of the Dependency Injection pattern, Component Technologies have started providing advanced composition mechanisms. In the past month IBM and SAP published related articles exploring the modern strategies and tactics to develop composite business solutions.
-
Presentation: Managing a high performance rails app without tearing your hair out
Rails has gained popularity for its clean implementation of MVC and slick APIs. But what happens when your Rails app grows up, gets popular but can't keep up with requests? This presentation by James Cox will get you started with optimizing web applications by giving practical tips and pointing out common bottlenecks.
-
Injecting Implementation Dependencies into WCF Services
A very popular concept of implementing WCF services is to use a layered approach that consists of a service, a business logic and a data access layer. The dependencies between these layers might be injected at runtime via dependency injection containers.
-
Robert Pickering on F# Workflows
In this second InfoQ exclusive article, Robert Pickering continues the conversation diving deep into how workflows work in F#. Workflows in F# provide the building blocks for library implementors to create DSLs.
-
LINQ Grouping Techniques
For the most part LINQ works very much like SQL. Sources, joins, selects, and where clauses are all pretty standard fare. The Group/By/Into clause is where this breaks down. Unlike SQL, which always returns a rectangular dataset, LINQ is capable of returning hierarchical data. This brings new challenges of its own.
-
Private Methods, Test Driven Development, and Good Design
The claim has been made that test driven development (TDD) encourages good design. The claim has also been made that TDD adversely affects design. Focusing on private methods and their relationships to good design and testability will give us something concrete to discuss - an instance of this apparent conflict.
-
Interview: Patrick Smacchia discusses NDepend and Code Analysis
Patrick Smacchia, a Microsoft C# MVP, talks about his product NDepend and how it helps resolving issues in your code. Large code bases can be very complex to manage and the right tools make navigating so much easier.
-
Decisions driven by productivity concerns: Reasons, implications and limitations
Often the necessity to rapidly adapt software projects to new clients’ needs results in adopting approaches focused on productivity. Reasons, implications and limitations of this were recently discussed in the blog sphere.
-
Programming languages in future systems
The trend seems to be clear; in the next few years there will be an increase in adoption of new programming languages and systems will be written in multiple languages. But what does the mix look like, and which languages are suitable for what? In a recent post, language explorer and JRuby developer Ola Bini describes what future systems may look like.
-
Article: Take care of your domain model
Today, many projects focus on Domain-Driven Design, but it is not always easy. One of the most important things are to separate the domain code from the code that only exists for technical reasons. Mats Helander has written an article where he explains how to manage domain models and teaches design patterns and aspect-oriented programming in the process.
-
Building Service Oriented Architectures with Java Technology
Sun Microsystems started a tour in the US to present a comprehensive view of the technologies and approaches it recommends to build Service-Oriented-Architectures with Java Technology.
-
Successful Collaboration Doesn't Happen by Accident
Partnership Coach Michael Spayd tells us that both contractors and permanent employees can find themselves playing a "consultant" role, and should consider using consulting contracts or "designed partnerships" with their clients - not regarding the exchange of money, but to create a climate for stellar results for the client, while also communicating their own values and preferences.