Composite Specification Pattern

  •        0

I have implemented the Specification pattern using the Composite pattern in order to provide the ability to combine Specifications in various ways. I really needed this in a project, and I was surprised that I could not find any .NET implementations out in the blogoshpere, so...



comments powered by Disqus

Related Projects

NHibernate - object-relational mapper for .NET

NHibernate is a mature, open source object-relational mapper for the .NET framework. NHibernate is a port of Hibernate Core for Java to the .NET Framework. It handles persisting plain .NET objects to and from an underlying relational database.

Blender - 3D content creation suite

Blender helps to model, shade, animate, render, composite interactive 3d content. Blender's features include 3D modeling, UV unwrapping, texturing, rigging and skinning, fluid and smoke simulation, particle simulation, animating, match moving, camera tracking, rendering, video editing and compositing. It also features a built-in game engine.

MuseScore - MuseScore Free music composition and notation software

MuseScore is a free music composition and notation software. It is easy to use and makes beautiful sheet music. MuseScore is often praised as a cost effective alternative for Sibelius and Finale. It is easy and fast note entry with mouse, keyboard or MIDI. It supports playback with integrated sequencer and FluidSynth software synthesizer.


BlogEngine.NET is an open source .NET blogging project that was born out of desire for a better blog platform. A blog platform with less complexity, easy customization, and one that takes advantage of the latest .NET features.

jQuery Library for SharePoint Web Services

This is a jQuery library which abstracts SharePoint's Web Services and makes them easier to use. It also includes functions which use the various Web Service operations to provide more useful (and cool) capabilities. It works entirely client side and requires no server install.

Taskcoach - Todo manager to keep track of personal tasks and todo lists

Task Coach is a simple open source todo manager to keep track of personal tasks and todo lists. It is designed for composite tasks, and also offers effort tracking, categories, notes and more. Tasks have a subject, description, priority, start date, due date, a completion date and an optional reminder. Tasks can recur on a daily, weekly or monthly basis. Tasks and notes can be assigned to user-defined categories.

Boost - CPP Library

Boost provides free peer-reviewed portable C++ source libraries. Boost libraries are intended to be widely useful, and usable across a broad spectrum of applications. It supports String, Containers, Streams, Generic programming, Concurrent programming, Math, Memory and lot more.

Memcached - distributed object caching system

Memcached is high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load. Memcached is an in-memory key-value store for small chunks of arbitrary data (strings, objects) from results of database calls, API calls, or page rendering.

CodeLite - Cross Platform IDE for C/C++

CodeLite is an open source, free, cross platform IDE for the C/C++ programming languages which runs on all major Platforms. It has generic support for compilers with built-in support for GCC/clang/VC++, GDB Support, Refactoring, Code Navigation, Source Control Plugins, RAD Tool for wxWidgets, Code Completion and lot more.

qunit - An easy-to-use JavaScript Unit Testing Framework

QUnit is a powerful, easy-to-use, JavaScript unit testing framework. It's used by the jQuery project to test its code and plugins but is capable of testing any generic JavaScript code (and even capable of testing JavaScript code on the server-side).

Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.

Tag Cloud >>