Data, Context and Interaction : A New Architectural Approach by James O. Coplien and Trygve Reenskau
James O. Coplien and Trygve Reenskaug have recently introduced a new architectural approach to OOP based on Data, Context and Interaction pattern. It should allow capturing user mental model in terms of behavioral requirements, something that classic OOP fails to do. The article, that triggered many reactions and critics, provides insights into DCI using concrete examples to show its advantages.
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.
The Component-based Scalable Logical Architecture for .NET (CSLA .NET) version 3.6 has been released including support for Microsoft Silverlight 2.0. CSLA .NET is a .NET software development framework which helps one to “build a powerful, maintainable business logic layer for Windows, Web, service-oriented and workflow applications”.
A new WS-BPEL Extension for Semantic Web Services introduces support for semantic service discovery and invocation in the services integration implementations.
In this interview from QCon London 2008, Erich Gamma discusses the Jazz project, why Eclipse has been successful, the strict Eclipse release schedule, JUnit, Design Patterns, how to identify a design pattern, design patterns and the 'Don't Repeat Yourself' principle, the design pattern community, and whether dependency injection is a design pattern.
Chain.NET (a.k.a. NChain) is an implementation of Chain Of Responsibility design pattern for .NET and Mono platforms. Version 0.1 combines standard CoR design pattern with Command design pattern with the goal of bringing increased convenience and flexibility in command processing solutions.
Kasper Sørensen has created a new open source project at eobjects.dk called MetaModel. The project is a common domain model, query engine, and optimizer for different types of datastores, such as relational databases and flat files. MetaModel is a Java library that provides a fluent, object-oriented interface for SQL compliant queries.
Roberto Zicari, from ODBMS.org, collected interviews and stories from several users of Object/Relational mapping technologies. The main point of the cases was around "impedance mismatch" between the object technology in the domain model and the relational technology in the data model.
Google caused a stir by releasing Protocol Buffers, a binary serialization format. We take a look at what exactly Protocol Buffers are and what alternatives are available in ASN.1 or Facebook's Thrift.
In this interview with Nate Kohari, creator of the Ninject dependency injection container for .NET, talks about the release of version 1.0 of Ninject. The interview has taken place over the past weeks leading up to the release of Ninject 1.0.
Neo4j is an embedded network model database for Java, Ruby and Python applications. It is capable of handling billions of nodes/relationships/properties on single machine hardware, supporting ACID transactions, durable persistence, concurrency control, transaction recovery, and everything else you’d expect from an enterprise-strength database.
Rails Cells aims to bring component-oriented development to Rails with its lightweight controllers and views that can easily be shared and reused. We caught up with Nick Sutterer, one of the Cells developers, to talk about the state of the project.
A discussion about simple design is taking place on the extremeprogramming Yahoo! group that has already resulted in several useful recommendations. The discussion started off with a request for references concerning incremental design and quickly morphed into one about successfully adopting incremental design.
In a new interview, recorded at QCon San Francisco 2007, CORBA Guru Steve Vinoski talks to Stefan Tilkov about his appreciation for REST, occasions when he would still use CORBA and the role of description languages for distributed systems. Other topics covered include the benefits of knowing many programming languages, and the usefulness of of Erlang to build distributed systems.
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.