Object-oriented design is the process of planning a system of interacting objects for the purpose of solving a software problem.
3
votes
2answers
41 views
Computing and returning a sub-object where the sub-object is stored in the object
I have a complex object which routinely needs to compute a sub-object representing various aspects of the parent's state as a bundle. For example, imagine the object represents information about an ...
0
votes
0answers
32 views
OOP style class wrapper for bulk records?
Recently I've been tasked with building an application that synchronizes data between two databases.
I've created AccountingService class for the source database and a bunch or repository classes for ...
3
votes
2answers
154 views
OO Design Question - Library/Objects for API which includes id references
Public api:
getClients / getClientById - returns a json object like:
{ clientid: 1, name: "Client1" }
getProjects / getProjectById - returns a json object like
{ projectid: 5, name: ...
1
vote
2answers
154 views
User and role modeling
I'm working with a system in ASP.NET MVC, with Entity Framework for ORM. The application has a requirements to allow users to have different types of roles, and authorization rules will be different ...
3
votes
1answer
59 views
Who is the Owner of Information? Memento vs. Originator
Imagine for a second that I'm implementing the Memento Pattern, using the following classes.
Classes
An Originator class that has public and private, properties and fields respectively
A Memento ...
8
votes
4answers
10k views
Practical size limits of a Hashtable and Dictionary in c#
What are the practical limits for the number of items a C# 4 Dictionary or Hashtable can contain and the total number of bytes these structures can reasonable contain. I'll be working with large ...
7
votes
4answers
847 views
What are the valid uses of static classes?
I noticed that nearly every time I see programmers using static classes in object oriented languages such as C#, they are doing it wrong. The major problems are obviously the global state and the ...
10
votes
2answers
370 views
Is there a design pattern for managing deep many-to-many relationships?
I'm having trouble defining this data pattern I've come across working on several applications.
It consists of:
An object type which is composed of many objects itself
A second object type, where ...
0
votes
1answer
56 views
How should one model an ExchangeService object (in ews-java-api) for sharing MS Exchange connections?
I am creating an application which uses ews-java-api to connect to an MS Exchange server. Once the connection is authenticated, the api dictates use of ExchangeService object for searching mailboxes, ...
1
vote
2answers
333 views
Updating an Entity through a Service
I'm separating my software into three main layers (maybe tiers would be a better term):
Presentation ('Views')
Business logic ('Services' and 'Repositories')
Data access ('Entities' (e.g. ...
2
votes
3answers
173 views
How do I recreate this Access Control/Group/ whatever methodology in OO/MVC
I am looking at trying to rewrite an application that is mostly procedural to an MVC/OO approach in order to teach myself a deeper understanding of both.
BUT, I am having some conceptual issues with ...
0
votes
1answer
62 views
Manipulating data for a single file
I'm looking for a best practice solution for creating an object whose responsibility it is to handle file storage for a single file. I want to be able to read data from the file, write to the file, ...
7
votes
4answers
863 views
Should Objects with lots of fields be broken up? [duplicate]
When I have an Object that has lots of fields is it better to have them all as fields or try to find logical groupings as their own Objects and make those the fields?
I guess it comes down to which ...
0
votes
1answer
79 views
Should I put the parameters in constructor or in method? (Python 3)
I have the following code:
def __init__(self, vocable_file_path, xsd_file_path, word_list_file_path):
self.vocable_file_path = vocable_file_path
self.xsd_file_path = xsd_file_path
...
3
votes
1answer
136 views
Should a new type be created though it only wraps a single field?
Say I have an interface Species that's defined as
public interface Species {
String getId();
String getDescription();
}
The question is simply this: Should I create different classes to ...
1
vote
3answers
63 views
Deserializing an object at beginning of program which is used (much) later
I am writing a program, where in the beginning of the execution, I am instantiating a number of classifier objects using parameters stored in some files.
I later use those classifiers in multiple ...
3
votes
3answers
283 views
'Encapsulation Vs Performance' trade-off in a lockable linked list
Main purpose of encapsulation is to protect in-variants of any class(in java).
Here is the complete code for class DList/class lockDList/class DListNode/class LockDListNode.
class DList and it's ...
3
votes
3answers
355 views
Object creation: when should I expose a factory vs wrapping class?
I am having some problems trying to figure out when to use a factory or to wrapper class. This question is slightly geared towards C# I guess, so I'm not sure if this is the correct place to ask.
Say ...
0
votes
1answer
66 views
How to better isolate JOGL or LWJGL3 dependency from game clients?
I'm currently working on a project to develop a relatively small framework with the goal of supporting game development efforts for students in a course. The scope of this project is an OpenGL-based ...
1
vote
2answers
110 views
Issues deciding on approach to create object
I'm trying to decide what's the best approach to instantiate a particular class. Basically there are two use cases for it: instantiate it in order to save a new entry to the database and fetch an ...
1
vote
4answers
211 views
OOP Principles in Customer and Account classes of a Bank
I am designing a Bank Application which deals with Customers having FD Accounts.
There are two approaches to this :
Approach 1
In this the customer has a list of accounts. The bank application ...
1
vote
3answers
124 views
How to understand if a property is a member of a class or I have to create a different class that holds it?
Sometimes when you create a class you can add there several properties (new data members) that you are not certain if you want to do or not. For example, I have a casino slots game. I have tiles and ...
2
votes
1answer
63 views
For DI, where to create dependencies (new objects) specifically within framework code?
Basic requirement
I'm making a framework for learning purposes (and likely usage on personal sites).
I'm using dependency injection in classes and I'm trying to design where would be a good place ...
2
votes
1answer
98 views
How to best model an application's settings?
My application has a configuration file and a "Settings" window. When the user confirms the changes in this window they are applied and written to the config file.
These settings are often changed ...
1
vote
1answer
148 views
Private method with a derivable argument - a code smell?
We're implementing a service for creating a subscription where the subscription may be linked to an order. Quick background: the purpose of this service is to allow the customer to receive the item ...
0
votes
1answer
42 views
two repositories with kind of different behavior serving same object
I have a simple object like this
public class Book
{
public List Chapters { get; private set; }
public TableOfContent BookTOC { get; set; }
public string Identifier { ...
2
votes
1answer
625 views
Interface questions for using Command Pattern and Dependency Injection together
I have many projects that have essentially the same high level requirement: test all hardware on a device. Each device can have a different communication protocol, requires different test equipment to ...
10
votes
5answers
515 views
Should I prefer composition or inheritance in this scenario?
Consider an interface:
interface IWaveGenerator
{
SoundWave GenerateWave(double frequency, double lengthInSeconds);
}
This interface is implemented by a number of classes which generate waves ...
1
vote
4answers
338 views
How can I avoid the use of strings?
I'm implementing a program where the user can 'create a musical scale' from a variety of notes (identified by their names), and the program will generate music from this scale.
I want to implement a ...
5
votes
1answer
132 views
Design pattern for data structure that contains at most one item of each type
I have a superinterface that several different abstract classes implement: Coverage.
This is for insurance rating. There are several types of different coverage, and those coverages might vary by ...
2
votes
3answers
244 views
How to share data members between classes in C++ without violating encapsulation too much
In C++ let's say I have some class A:
Class A
{
int a1, a2, a3;
void foo();
}
and I need to use a subset of members (a1, a2) in a member function for a second class B.
...
0
votes
2answers
117 views
How should I structure these Python classes?
Base Class
I have a class called Remote. This class represents a remote machine and has properties such as ip, hostname, username, and password, as well as methods for transferring files to/from the ...
2
votes
1answer
222 views
General design choices. How do you decide?
I have a project in C that I'm looking to convert to C++. The project does white box hardware testing of a device (actually many similar devices). In this case the device has two processors. Each ...
3
votes
2answers
194 views
Python classes with only one instance: When to create a (single) class instance and when to work with the class instead?
Given a Python class which will be instantiated only once, i.e. there will be only one object of the class. I was wondering in which cases it makes sense to create a single class instance instead of ...
2
votes
2answers
662 views
Liskov substitution and abstract classes / strategy pattern
I'm trying to follow LSP in practical programming. And I wonder if different constructors of subclasses violate it. It would be great to hear an explanation instead of just yes/no. Thanks much!
P.S. ...
0
votes
2answers
67 views
How to better define SRP and “wholesome” objects? [duplicate]
Assume you have a class. It can really be any class that defines a domain concept like an employee, a product on an e-commerce site, or a car. One of those examples that are oldies but goodies. ...
0
votes
0answers
47 views
EF “Code First” and Object/Relational Impedance
I'm trying to learn more about the current orthodoxy with respect to ASP.NET MVC application design, and I stumbled upon something that confuses me, relating to the choice among database design ...
3
votes
3answers
99 views
Is this a valid situation for returning rather than throwing an exception?
This is not something I would ever normally do, but I have a situation where some existing legacy code is being reused in a new application. The code is shared and needs to be used by both the legacy ...
2
votes
2answers
131 views
How to avoid god controller classes and keep single responsibility principle?
The task is to make a migrator from Old DB to New DB using OOP Single Responsibility Principle.
My problem is how can I make this without making the controller a God Class or breaking the single ...
3
votes
3answers
275 views
“Correct” way to use inheritance
Within a small project, a class Storage is meant to store any type of Item. Now, an Item has a String name, and an interaction. For example, a clock item might implement the interaction increment(int ...
4
votes
3answers
283 views
How can I add properties to subclasses and access them without casting from a superclass?
I'm trying to model a multi-dimensional point class in C#. I have about eight different types of points, and there may be more in the future. Right now, I have a superclass (PointBase) that holds all ...
-2
votes
2answers
105 views
How to reference one object with two interfaces? [duplicate]
Suppose I have two interfaces I and J that is implemented by Test class. Now I need one object of class Test that is referenced by I and J both interfaces. I can do it by singleton design pattern. But ...
1
vote
1answer
135 views
Inefficient use of interfaces in OOP (C#)
In my code, I've got two interfaces, let's say IOpenable and IExaminable. IOpenable allows the user to Open or Close the object, and IExaminable allows the user to Examine the object.
Now, we have ...
3
votes
5answers
269 views
OODesign: Data Structure which calls algorithm on insert
I have a data structure which has an add function.
When the user instantiates a new data structure object, she can specify an algorithm which will be executed each time the add function is called and ...
0
votes
4answers
203 views
How to write procedural code in an object oriented language?
I recently started working in domain of mesh generation . My programs usually contains large chunks of procedural code consisting of several phases. Eg.
class MeshAlgo1
{
/* A very long function ...
4
votes
2answers
51 views
Is it acceptable to define a “module” and “class” within a single .VB element?
Experiment:
I have found it is possible to define both a "Module" (Namespace?) and a "Class" (Namespace?) within a single .Vb element (Module??).
You can try this at home:
Create a new Console ...
1
vote
1answer
91 views
HashMap to replace Singletons?
Consider the following: I have controllers and views in a client-application. As this runs purely on the client side, each controller must only exist once.
At first I thought about implementing ...
3
votes
2answers
85 views
COM - with great power comes great responsibility, but at what cost? (looking for advice on coding practices when working with COM)
What is best (or commonly accepted) practice for where to declare COM object variables (scope) and how to handle cleaning them up when using structured error handling?
I just spend a whole load of ...
1
vote
1answer
44 views
How do you keep up with 'requiring new methods in an interface' (Following LSP and adding new methods to interface seems to violate ISP)
I have a game that deals with opening and closing doors and the Door Engine
deals with IDoor interface which has Open() and Close() contracts
So far so good. the game is tested and works fine.
Now a ...
1
vote
3answers
149 views
What categories of software modeling problems is object orientation highly unsuitable for? [closed]
I'm trying to get a better grasp of the applicability of object-oriented programming and design. I'm curious about some examples of situations where object orientation is not simply inefficient or ...