BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage OOP Content on InfoQ

  • Object Oriented Programming: The Wrong Path?

    In a QCon London 2010 interview with Joe Armstrong, the original developer of Erlang, and Ralph Johnson, long associated with Smalltalk, OOP, and Patterns, the question of whther we've gone down the "wrong path" w.r.t. object orientation all these yearrs. Both interviewees suggest that we have, but this is due to flaws in the implementation of object ideas and not the ideas themselves.

  • Creating Add-Ins for Expression Web 4

    The hallmark of any good IDE is its extensibility. If developers can’t improve their own tools then they won’t see productivity improvements over time. The same goes for web designers, which is why Microsoft’s Expression Web 4 now offers an add-in model based on HTML+JavaScript.

  • Managed Extensions for Internet Explorer

    With .NET 4.0, writing reliable managed extensions for Internet Explorer has become possible. Unlike previous versions, each extension will run against the CLR it was compiled for instead of mindlessly grabbing the most recent version. Alas, COM interfaces are still needed.

  • Extensible Caching Added to .NET 4.0

    Microsoft’s Patterns and Practices caching framework has been promoted to a part of the core .NET Framework. This framework provides a basic in-memory cache with trigger-based cache invalidation and a common wrapper for more advanced caching frameworks to share.

  • Marshal.ReleaseComObject Is Considered Dangerous

    Paul Harrington, Principal Developer on the Visual Studio Platform Team, has written an explanation on why calling Marshal.ReleaseComObject() to dispose of a COM object from managed code is considered dangerous and recommends not using it.

  • Silverlight 4’s COM+ Automation Raises Security and Portability Concerns

    Silverlight 4 supports COM+ Automation when running as an Out-Of-Browser (OOB) application with elevated privileges. Microsoft indicated that this support is a result of enterprise customers requesting such a feature, offering as an example Office automation from Silverlight.

  • JUnit 4.7: Per-Test rules

    JUnit 4.7, which has just reached Release Candidate stage includes a significant new feature: Rules. Rules are, in essence, another extension mechanism for JUnit, which can be used to add functionality to JUnit on a per-test basis. Most examples of custom runners in earlier versions of JUnit can be replaced by Rules, and new capabilities have already been added.

  • Presentation: Making Roles Explicit

    In this presentation recorded during QCon London 2008, Udi Dahan, The Software Simplist as he calls himself, explains why sometimes it is not enough to apply good OOP and patterns lessons. He introduces a new principle: make roles explicit.

  • 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.

  • Is OOP Better for Structuring your Code?

    Programming languages that offer more power and flexibility have been lately gaining momentum. Johnatan Tang highlights, however, the flexibility vs. productivity tradeoff in terms of program structure. Whereas multi-dispatch languages provide more flexibility in arranging code, traditional object orientation makes organizing programs easier.

  • Is It Appropriate to Use Non-.NET Libraries in Your Day to Day Work?

    From the beginning, the .NET stack had first class support for unmanaged libraries. By using P/Invoke one can access most of the Win32 API and support for COM opens up developers to a wealth of applications and third-party libraries. But should .NET developers actually take advantage of this?

  • Article: Composite Oriented Programming with Qi4j

    The goal of modeling domain concepts through objects set by OOP has for a long time been handled in insufficient ways. In this article we introduce the concept of Composite Oriented Programming, and show how it avoids the issues with OOP and reignites the hope of being able to compose domain models with reusable pieces.

  • C# Feature Focus: Optional and Named Parameters, COM Interoperability

    Believe it or not, C# is going to have full support for optional and named parameters. This, and other features intended for COM support, will be included in C# 4. There was also a rumor about parameterized properties.

  • .NET 4 Feature Focus: Type Embedding and Equivalence

    In .NET 4 types will no longer be restricted to a single assembly. A single type, or part of a type, can be extracted from one assembly and placed into another. Why would you do this? Well first off all, to reduce the cost of including the Office Primary Interopt Assemblies from several megabytes to about 2KB by only including what you actually need.

  • New Open Source project provides Object Oriented data access

    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.

BT