BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Design Guideline Content on InfoQ

  • C# 4.0 "Fixes" Deadlock Issue

    C# 4.0 implemented a change that assured optimized and non -optimized compiles yielded consistent results. This "Fix" emphasized some design problems with locking mechanisms.

  • Spolsky vs Uncle Bob

    The last few weeks, a public dispute has been going on between Joel Spolsky and Robert C Martin (Uncle Bob) about Test-Driven Development and about the SOLID principles of OO design. Here is a summary and review of the match.

  • Refactoring Not a Substitute for Design

    A member of the stack overflow community asked "Is design now a subset of refactoring?" The question highlights a common misunderstanding about the agile approach to emergent design. A common agile mantra is: "Test. Code. Refactor. Repeat!" This approach doesn't replace design; it simply spreads the work out over the life of the project.

  • Presentation: REST: A Pragmatic Introduction to the Web's Architecture

    In this presentation recorded during QCon London 2008, Stefan Tilkov introduces the audience to REST seen as an architectural style. He thinks that REST is not an alternative to SOA but it can serve SOA to reach its goals. Stefan also covers other related topics: HTTP, WS-*, SOAP, CORBA, RPC, enterprise, in an attempt to make the listeners understand what REST is and what is not and how it helps.

  • "Good Design" Means ...?

    It's not news that at the heart of successful software systems (and, frankly, fulfilling software careers) is good design. Also not news is that defining what "good design" really means has been at the heart of many debates, papers, talks, books, discussions, and more for ages. To help, J.B. Rainsberger and Scott Bellware offer some advice to follow until that one true definition comes along.

  • Article: Webber, Parastatidis and Robinson on "How to GET a Cup of Coffee"

    In a new article, Jim Webber, Savas Parastatidis and Ian Robinson show how to drive an application's flow through the use of hypermedia in a RESTful application, using the well-known example from Gregor Hohpe's "Starbucks does not use Two-Phase-Commit" to illustrate how the Web's concepts can be used for integration purposes.

  • Article: Joshua Bloch: Bumper-Sticker API Design

    In this article, Joshua Bloch, Chief Java Architect at Google and former Distinguished Engineer at Sun Microsystems, presents a list of maxims intended to be a concise summary of good API design guidelines. The maxims represent the abstract written by Joshua for his session "How to Design a Good API and Why it Matters" held during JavaPolis 2006.

  • Architecture Life Span:Implications on Business and how to build more Long-lasting Architecture

    Introducing the concept of architectural shelf life, Dan Pritchett defines the average duration of an architectural life span. Stressing that failing to evolve the architecture at the end of its life span may have important business implications, he provides some advices that aim at facilitating architecture update with new technologies and patterns, thus making architectures last longer.

  • Improving Web Service Security: Guidance for WCF

    Microsoft patterns and practices group has released a WCF Security Guide. The 689 pages compendium offers a general introduction to Web Service security fundamentals as well as in-depth knowledge about several security threads and appropriate counter-measures.

  • Respect Demeter's Law through Rails Plugin

    The Law of Demeter or Principle of Least Knowledge is a design guideline for developing software. It's not rare to see common Rails practices violating it. Luke Redpath brings a way to remedy this by providing Demeter's revenge plugin.

BT