oop

Dynamic swappable Data Access Layer

I'm writing a data driven WPF client. The client will typically pull data from a WCF service, which queries a SQL db, but I'd like the option to pull the data directly from SQL or other arbitrary data sources. I've come up with this design and would like to hear your opinion on whether it is the best design. First, we have some data ob...

How to design app to be modular / support plugins

I'm currently in the process of refactoring my webplayer so that we'll be more easily able to run it on our other internet radio stations. Much of the setup between these players will be very similar, however, some will need to have different UI plugins / other plugins. Currently in the webplayer I do something like this in it's init():...

is PHP itself transforming into a framework or big library?

At the beginning PHP was a scripting language. But after the introduction and improvement of OOP I see more and more objects added to the core. They started with libraries like DOM (the PHP 4 and 5 varieties), later SPL which grew a lot, and the DateTime family which should be part of PECL, Pear or Zend Framework or implemented by each o...

abstract class extends abstract class in php?

I am working on a simple abstract database class. In my usage of this class, I'll want to have some instance be a singleton. I was thinking of having a abstract class that is not a singleton, and then extend it into another abstract class that is a singleton. Is this possible? Recommended? Edit: I want to have two abstract that are p...

PHP OOP: Unique method per argument type?

I'm writing a little homebrew ORM (academic interest). I'm trying to adhere to the TDD concept as a training exercise, and as part of that exercise I'm writing documentation for the API as I develop the class. Case in point - I'm working on a classic "getCollection" type mapper class. I want it to be able to retrieve collections of ass...

[Delphi] How would you refactor this code?

This hypothetical example illustrates several problems I can't seem to get past, even though I keep trying!! ... Suppose the original code is a long event handler, coded in the UI, triggered when a user clicks a cell in a grid. Expressed as pseudocode it's: if Condition1=true then begin //loop through every cell in row, //if aCell/...

OOP PHP simple question

Hello, I'm new to OOP in PHP, is that to seems correct ? class whatever { Function Maths() { $this->sql->query($requete); $i = 0; while($val = mysql_fetch_array($this)) { $tab[i][average] = $val['average']; $tab[i][randomData] = $val['sum']; $i=$i+1; } return $tab; } I want to access the data ...

How do I implement a dispatch table in a Perl OO module?

I want to put some subs that are within an OO package into an array - also within the package - to use as a dispatch table. Something like this package Blah::Blah; use fields 'tests'; sub new { my($class )= @_; my $self = fields::new($class); $self->{'tests'} = [ $self->_sub1 ...

how to learn a library/framework structure?

a lot of people are contributing to open source libraries/frameworks. i wonder how these people learn the structure so that they can contribute? lets take doctrine and symfony as an example. is there a blueprint over these frameworks to give the developers an insight of the structure? or do they just download it and study the code? h...

Assigning property to JS object using another objects property value as the property name

Hey guys, I want to use the value of an objects property to name the property of another object. Easy to do in PHP: $object1->property = 'name'; $object2->{$object1->property} = "value"; echo $object2->name; //outputs "value" But in Javascript I can't figure out how to do this. The curly braces are used a different way. Anyone kno...

How to build Object Oriented Skills?

Being a core developer for couple of years, coding applications seeing the class diagrams, sequence diagrams, I decided to improve my self, taking the next step of designing. As I'm an OO developer, I'm interested in improving my design skills. For Example, I had a hard time designing a currency converter. My questions to the SO: Is...

Writing Great Software

Hi, I'm currently reading Head First's Object Oriented Analysis and Design. The book states that to write great software (i.e. software that is well-designed, well-coded, easy to maintain, reuse, and extend) you need to do three things: Firstly, make sure the software does everything the customer wants it to do Once step 1 is complete...

Java method overloading + double dispatch

Can anybody explain in detail the reason the overloaded method print(Parent parent) is invoked when working with Child instance in my test piece of code? Any pecularities of virtual methods or methods overloading/resolution in Java involved here? Any direct reference to Java Lang Spec? Which term describes this behaviour? Thanks a lot. ...

How to easily substitute a Base class

Hi, I have the following hierarchy of classes class classOne { virtual void abstractMethod() = 0; }; class classTwo : public classOne { }; class classThree : public classTwo { }; All classOne, classTwo and classThree are abstract classes, and I have another class that is defining the pure virtual methods class classNonAbstra...

how to make objects globally accessible?

i have this code: class IC_Core { /** * Database * @var IC_Database */ public static $db = NULL; /** * Core * @var IC_Core */ protected static $_instance = NULL; private function __construct() { } public static function getInstance() { if ( ! is_object(self::$_instan...

how to pass a parameter to method with php's is_callable

i have to create a variable that is callable with php's is_callable i have done this: $callable = array(new MyClass, 'methodName'); but i want to pass a parameter to the method. how can i do that? cause using symfony's event dispatcher component will be like: $sfEventDispatcher->connect('log.write', array(new IC_Log('logfile.txt'...

Logic behind plugin system?

I have an application in PHP (private CMS) that I would like to rewrite and add some new things - I would like to be able to extend my app in an easier way - through plugins But the problem is - I don't know how to achieve "pluggability", how to make system that recognizes plugins and injects them into the app? So, what's the logic of ...

understanding the ORM models in MVC

i cant fully understand the ORM models in MVC. so i am using symfony with doctrine. the doctrine models are created. does this mean that i don't have to create any models? are the doctrine models the only models i need? where should i put the code that uses the doctrine models: eg. $phoneIds = array(); $phone1 = new Phonenumber(); ...

Class accessing inner class privates?

Class Outer { ... private class Node { private T data; ... private T getData() { return data; } } } What's the purpose of using set and get methods if the outer class can access inner class private members? What's the purpose of making inner classes private? Package access? ...

Patterns and Libraries for working with raw UI values.

By raw values, I mean the application level values provided by UI controls, such as the Text property on a TextBox. Too often I find myself writing code to check and parse such values before they get used as a business level value, e.g. PaymentTermsNumDays. I've mitigated a lot of the spade work with rough and ready extension methods l...