Saturday, September 28, 2013

Saturday, September 14, 2013

Single Responsibility Principle


The rational behind the exact example that you gave is that if each class has a save method, then if you later change how you are saving data (from say filesystem to database or remote XML file) then you have to change every class. If each class implements an interface to yield that data that it wants saved, then you can write one function to save instances of every class and only change that function once. This is known as the Single Responsibility Principle: Each class should have only one reason to change.
http://stackoverflow.com/questions/3498200/organising-classes-and-modules-in-python

Singletons vs. Modules

A module is the language level implementation of a singleton without the need to prepend self to every methods argument list.
http://stackoverflow.com/questions/3498200/organising-classes-and-modules-in-python

Sunday, September 8, 2013

Allowing Nulls in R-tables

According to Codd a "table with at least one nullable attribute" (Wikipedia) disqualifies it from being 1NF. http://en.wikipedia.org/wiki/First_normal_form

But while the NULLs do not violate 1NF, they do violate the core relational Information Principle (IP), which requires data to be represented in exactly one way--as values in R-tables.