InfoQ Homepage Patterns Content on InfoQ
-
Interview: Michael Stal on Architecture Refactoring
In this interview, Michael Stal describes what architecture refactoring is about and how it relates to both code refactoring and patterns. He describes some architectural refactorings by giving real work examples from his work as Siemens, and he elaborates on some situations where you may want to avoid doing this kind of refactorings.
-
Presentation: Introduction to Spring.NET
Dr. Mark Pollack, founder of Spring.NET, provides an introduction focused on implementing and designing loosely coupled application architectures.
-
Leading Troubled Projects: Secure Your Own Oxygen Mask First
Fiona Charles' recent StickyMinds article looked at leading troubled projects. Stressing that "this is not the time for rigid process over progress," she provided valuable insights to help a team turn around a troubled project. She also reminded us to watch out for improvement: if there is none it could be a Death March, and time to leave.
-
TDD: Essential Skill or Architectural Landmine?
At JAOO '07 Bob Martin asserted: "it is irresponsible for a developer to ship a line of code he has not executed in a unit test." In this InfoQ video, Martin debated with another well respected software thought leader, Jim Coplien, on this and other topics, including Design by Contract vs. TDD and how much up-front architecture is needed to keep a system consistent with the business domain model.
-
Article: An Approach to Internal Domain-Specific Languages in Java
In this article, Alex Ruiz and Jeff Bay describe Java's suitability as a DSL-producing language, delve into the creation of internal DSLs in Java, walk through an example of a Java-based internal DSL, and give recommendations on writing DSLs in Java.
-
Can DDD be Adequately Implemented Without DI and AOP?
A recent thread on Domain Driven Design (DDD) user group discussed the role of Dependency Injection (DI) and Aspect Oriented Programming (AOP) in DDD implementation. InfoQ spoke with Eric Evans and Ramnivas Laddad about these design concepts and the role of Annotations and orchestrated business services in DDD.
-
Kent Beck on Implementation Patterns
What does good code look like? In this interview, Kent Beck talks about his new book, Implementation Patterns, that deals with this question. Kent explains why Compose Method is so important, but also talks about the relationship between implementation patterns and XP, the history of software patterns and why he believes that Cockburn's Shu-Ha-Ri description of learning is naïve and simplistic.
-
Mark Pollack on Spring and Spring.NET
Mark Pollack, founder of Spring.NET, talks about shares ideas between the Java and .NET communities and the history of Spring.NET. Topics include how to use dependency injection and AOP for more than just logging and where Spring.NET overlaps with WCF.
-
Dependency Injection: New Ground or Solid Footing?
Dependency Injection seems like a shiny new tool in the toolbox. Andrew McVeigh tells us that DI shares a long history with architecture description languages (ADLs), simple yet sophisticated languages for component-based development through descriptive wiring. This article looks at the history of ADLs and sheds light on possible future directions of dependency injection.
-
C# 3.0 Cookbook Published
O’Reilly has published the third edition of the C# 3.0 Cookbook bestseller. The book has been updated for C# 3.0 and the .NET 3.5 platform. It contains more than 250 recipes for problems programmers encounter every day.
-
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.
-
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.
-
Does lines of code kill?
Steve Yegge touched a nerve in the development community when he argued that keeping the code size to an absolute minimum is the most important thing when developing software. In his view, you may have to sacrifice some design patterns and avoid refactoring at times just to keep the lines of code down. And if your problem is large enough - you may have to switch to another programming language.
-
Can architecture create a gap between developers and software they build?
Many software project management and architecture approaches tend to parcel out work on a project in a way to create hierarchical layers. This helps simplify both developers’ work and management. However, the underlying information shielding among layers can potentially create a gap between developers and the software they are building, if their tasks are totally taken out of functional context.
-
Microsoft Enterprise Library 4.0 will get a dose of Dependency Injection
The next version of the Microsoft Enterprise Library, v4, will support dependency injection out-of-the box. Dependency Injection will be provided in containers both separately and part of the library. It's important to note that the next release of the Enterprise Library was going to be v3.5 but was changed to be v4.0 due to the amount of core changes to the library.