Skip to main content
complex systems development

Rewriting working code

I was recently asked to advise on converting a site that was written in ASP to PHP, Ruby on Rails, or ASP.NET. Sounded like a good job because the specification is the existing site and the only requirement is that the new system must run on a technology “that is supported” and has a future roadmap.

PHP Implementation of a reference monitor to provide record level access

How I implemented a reference monitor in around 400 lines of PHP (in ZXAF) – together with code examples and samples.

Generate SQL to identify duplicates

Posted in

A small tool that javascript to generate SQL that will identify duplicated records in a table

Object Model Design for a Reference Monitor

A reference monitor is an approach to implement a secure system based on access control. Any system can be depicted in terms of subjects, objects, an authorization database, an audit trail, and a reference monitor, as shown in Figure 1. The reference monitor is the control center that authenticates subjects and implements and enforces the security policy for every access to an object by a subject.

Figure 1: Reference Monitor

This is the basic design for the Reference monitor.

Generic data modelling of products in the Entity Framework (EF)

Posted in

Everything is composed of something until you hit the fundamental elements of your domain. In a restaurant environment these would be what a chef would call ingredients, ie. stuff that comes from a food processing plant or a farm. However at the food processing plant these are the output rather than the input. I’ve tried to draw this below, it’s not complicated once you understand that it is a model of how things are.

So model this, using a table ProductBase

Ingredients, recipes, menus, etc. are all the same.

Web Application Architecture

Frequently I see the same question in many forms; “How do I design a web application architecture”. The simple answer is that all application architectures are different, depending on the actual needs. Instinctively most programmers know what’s required, or at least we think that we do.

The true skill is to realise that we are often wrong and that any architecture design needs to be validated.

Pragmatic approach to application architecture

Pragmatism is one of those often misapplied terms that is often used interchangeable with “in my experience”.

Removal Of Control in object oriented systems

Posted in

Removal Of Control is a mechanism that will improve the usability, reliability and readability of code. I use commonly, it's similar in what I'm achieving but very different to IoC. The defining difference for me with ROC is:

Removal Of Control allows objects to be less tangled.

WPF Entity Framework Listbox / Datagrid filtering using CollectionViewSource / CollectionView

Posted in

Filtering a listbox, datagrid, or any list control within WPF for a given entity from an entity framework collection should be easy; and it is once you've figured out how it should work.

Building a modern application in .NET

Posted in

Recently I was fortunate enough to be in the position of having a completely free hand to choose the technologies for a desktop application, which is a double edged sword. The only technical brief was that it had to be a Windows Desktop application

The ends squeezing the middle in object oriented design.

Posted in

Often when designing anything it is all to easy to forget the simple fact that when you add 1 to a number you will eventually be doing ADDQ.L #1, D2.

I follow, but not rigidly, the following rules of thumb

If you have a design with 2 classes you probably should be writing something procedural.

If you have a design with more than 30 classes it's probably time to revisit the design.

Syndicate content