oop

When should I use Dependency Injection and when utility methods?

I have a Java EE project with Spring IoC container. I've just found in Utils class static method sendMail(long list of params). I don't know why but I feel that it would look better if we had separate class (Spring bean with singleton scope) which will be responsible for sending email. But I can't find any arguments which can prove my ...

C++ Matrix class hierachy

Should a matrix software library have a root class (e.g., MatrixBase) from which more specialized (or more constrained) matrix classes (e.g., SparseMatrix, UpperTriangluarMatrix, etc.) derive? If so, should the derived classes be derived publicly/protectively/privately? If not, should they be composed with a implementation class encaps...

Domain model for an optional many-many relationship

Let's say I'm modeling phone numbers. I have one entity for PhoneNumber, and one for Person. There's a link table that expresses the link (if any) between the PhoneNumber and Person. The link table also has a field for DisplayOrder. When accessing my domain model, I have several Use Cases for viewing a Person. I can look at them with...

Problem using a method in Ruby

I'm very new to Ruby (and OOP as well) and I don't know why the following thing doesn't work in Ruby I extended the String class with a new method. Easy enough. Now I want to extend the Fixnum class. A String object appears somewhere in the class, but I can't use the method that I defined earlier. Why? Is this normal? This is the new m...

How can I handle dynamic calculated attributes in a model in Django?

In Django I calculate the breadcrumb (a list of fathers) for an geographical object. Since it is not going to change very often, I am thinking of pre calculating it once the object is saved or initialized. 1.) What would be better? Which solution would have a better performance? To calculate it at _init_ or to calculate it when the obje...

Objects with the same attributes and methods belongs to the same class?

Objects with the same attributes and methods belongs to the same class? Can't I declare two identical classes with the same methods and attributes, instanciate them and have "objects with the same attributes and methods belonging to different classes"? Can't I declare a class A and a sub-class B (children of the class A) both with the ...

Is Perl code mainly written in object-oriented-design?

Since there is for almost everything a module and it is repeatedly said that we should not reinvent the wheel and since I do not write modules for CPAN I have no need to use OO. But my question is, is professional Perl code mainly written in OO-style? ...

Exemplars of object oriented design for large document-centric applications

I am looking for exemplars (design examples) showing the use of objects (especially abstract base classes and/or interfaces, aka 'protocols' for you smalltalkers) to design a document management architecture in a large Word Processor, Spreadsheet, vector graphic or publishing package, or office-productivity (non-database) application wit...

Refactoring one large list of C# properties/fields

If you take a look at http://www.c-sharpcorner.com/UploadFile/dhananjaycoder/activedirectoryoperations11132009113015AM/activedirectoryoperations.aspx, there is a huge list of properties for AD in one class. What is a good way to refactor such a large list of (Related) fields? Would making seperate classes be adequate or is there a bette...

self-destructing objects in php5?

I am working on a class in php that is basically an interface to a database row. I wanted to create a delete() method that would 1. delete the database row and 2. destroy the instance of itself so that further attempts to manipulate the row via the object would throw warnings. Doing some googling, it seems that, in php5, it's not possi...

Using inheritance and polymorphism to solve a common game problem

I have two classes; let's call them Ogre and Wizard. (All fields are public to make the example easier to type in.) public class Ogre { int weight; int height; int axeLength; } public class Wizard { int age; int IQ; int height; } In each class I can create a method called, say, battle() that will determine who will win if...

operator overloading(friend and member function)

Hi, Could anybody tell me the difference between operator overloading using the friend keyword and as a member function inside a class? also what is the difference incase of any unary operator overloading i.e., as a friend and as a member function ...

Usage of Python 3 super()

I wonder when to use what flavour of Python 3 super(). Help on class super in module builtins: class super(object) | super() -> same as super(__class__, <first argument>) | super(type) -> unbound super object | super(type, obj) -> bound super object; requires isinstance(obj, type) | super(type, type2) -> bound super object; re...

VB.NET: what does the 'friend' modifier do?

What does the 'friend' modifier do in VB.NET? Why is it the default modifier for GUI components in Visual Studio? ...

PHP static objects giving a fatal error

I have the following PHP code; <?php component_customer_init(); component_customer_go(); function component_customer_init() { $customer = Customer::getInstance(); $customer->set(1); } function component_customer_go() { $customer = Customer::getInstance(); $customer->get(); } class Customer { public $id; stati...

Handling a binary operation that makes sense only for part of a hierarchy.

I have a hierarchy, which I'll simplify greatly, of implementations of interface Value. Assume that I have two implementations, NumberValue, and StringValue. There is an average operation which only makes sense for NumberValue, with the signature NumberValue average(NumberValue numberValue){ ... } At some point after creating such var...

Type hinting and optional attributes in PHP

I have a class method that deals with dates: public function setAvailability(DateTime $start, DateTime $end){ } Since item availability can have lower limit, upper limit, both or none, I'd like to make setAvailability() accept NULL values as well. However, the NULL constant violates the type hinting: $foo->setAvailability(NULL, $end)...

Perl - Calling subclass constructor from superclass (OO)

This may turn out to be an embarrassingly stupid question, but better than potentially creating embarrassingly stupid code. :-) This is an OO design question, really. Let's say I have an object class 'Foos' that represents a set of dynamic configuration elements, which are obtained by querying a command on disk, 'mycrazyfoos -getconf...

Operator overloading - is it really reasonable to forbid?

Java forbids operator overloading, but coming from C++ I do not see any reason for that. In languages where operator symbols are symbols as any other, same rules apply to "+" as to"plus" and there is no problem. So what is the point? Edit: To be more concrete, show me which disadvantage overloaded "+" may have over overloaded "equals". ...

Java - how to tell class of an object?

Given a method that accepts as a parameter a certain supertype. Is there any way, within that method, to determine the actual class of the object that was passed to it? I.e. if a subtype of the allowable parameter was actually passed, is there a way to find out which type it is? If this isn't possible can someone explain why not (from ...