Skip to main content

Object Events

Lately I have been doing some thinking on the 'action' part of Objects.

Objects have properties. But how do you describe an action or an occurrence?

When the accelerator is pressed, the car moves.

One way I thought is that there could be an Observer object.
The Accelerator is subscribed to the Observer.

Upon Creation, Update or Delete of the target object, say A, a sequence of actions have to take place.
I was trying to find a structure for this.

Also CRUD events of A can be initiated by itself or another object B

So to start off, there has to be a table

Id -> unique eg= 7
Action -> Create/update/delete
TargetObj-> A
CallerObj-> A

for event id 7,
properties of [A], say A1,A2,A3.. have to be populated with values.
The structure for this operation needed a lot of thought and was quite frustrating.
(Yes I know exact same thing has been done before by someone, but I cannot find that information, nor is there anyone to guide)

Ok, getting back.

The key conclusions I derived are the following.

Upon event concerning [A],
A specific property of [A], say A1
can have

i- A static value
OR
ii- Value equal to a specific Property of a specific Object whose instance is dynamic
OR
iii- Value equal to a specific Property of a specific Object whose instance is static

To explain,
(i) is easy. Self explanatory
(ii) Property A3 = Property C3 (of object C, instance of which is derived through a property of A)
(ii) Also self explanatory.

Well if anyone has any queries or suggestions, please comment.

Comments

Popular posts from this blog

Siemens Washing Machine : Kill the Buzzer

The washing machine we have has the habit of sending out an irritating beep after it finishes the wash cycle. Ok enough; but these intermittent beeps go on and on and on till it is sure everyone came back home after your attending your funeral. One awful engineer who programmed the chip. Anyway, been looking around the net if there is a work around. Found this written by some Russian. I didn’t have patience to correct the grammar entirely. If the below does  not work, there is always the option of an Axe and ‘hey Siemens,..Heeeere is Johnyyy!) -- text You can change the volume of the buzzer according to your requirement. The operation procedure: 1. Switch on the machine,turn the program selector to Off . 2. Turn the program selector to cold Easy-care , press the additional function button Intensive stains and dont let go. You can hear the volume of the buzzer from minimum to maximum to off cycled (I didnt hear this!). If you decide the volume that yo...

.Net Serialize and Deserialize Objects to XML and database

Serialization Create an empty instance of your object Dim Obj as New MYOBJECT Dim cn As New SqlConnection(ConnectionString.Text_) Dim cmd As New SqlCommand Dim Trans As SqlTransaction   With cmd                 .Connection = cn                 .Transaction = Trans                 .CommandType = CommandType.StoredProcedure                 .CommandText = "somestoredprocedure"             Dim xMLSerialiser_ As New System.Xml.Serialization.XmlSerializer ( Obj.GetType )                 Dim sWriter As New System.IO.StringWrit...

SQL Server - Get columns and data types from all tables

Useful script USE SmartHire GO  SELECT TABLE_NAME, COLUMN_NAME, COLUMNPROPERTY(OBJECT_ID(TABLE_SCHEMA + '.' + TABLE_NAME), COLUMN_NAME, 'ColumnID') AS COLUMN_ID, DATA_TYPE  FROM SmartHire.INFORMATION_SCHEMA.COLUMNS  GO   Output TABLE_NAME COLUMN_NAME COLUMN_ID DATA_TYPE TblBankDetails BankID 1 int TblBankDetails BankName 2 varchar TblContactPreferences ContactPreferenceID 1 int