General guidelines on how to design classes with best known industry practices.
2
votes
2answers
192 views
Should I expose a “computed” value as a property or a method?
I have a C# class that represents a content type in a web content management system.
We have a field that allows a web content editor to enter an HTML template for how the object is displayed. It ...
0
votes
2answers
131 views
Thoughts and Best Practices on Static Classes and Members [closed]
I am very curious as to thoughts and industry best practices regarding static members, or entire static classes. Are there any downsides to this, or does it participate in any anti-patterns?
I see ...
0
votes
2answers
127 views
Data structures VS Classes and what happens if they merge? [closed]
Alright so I've learned this:
Classes have public methods that perform operations on the class's data and they hide away their implementations.
Data structures on the other hand, completely expose ...
0
votes
1answer
64 views
how to manage new private variables introduced into class?
Whenever I want to add a new functionality, I introduce a new private variable into the class. Declare it just above the first method definition. leave a small comment. Set it in a certain method. And ...
17
votes
5answers
2k views
How can you decompose a constructor?
Lets say I have a Enemy class, and the constructor would look something like:
public Enemy(String name, float width, float height, Vector2 position,
float speed, int maxHp, int ...
1
vote
0answers
22 views
Principle to Group Related Data By Their Lifetimes [closed]
I saw a video recently where the presenter used an example like this:
public class MyClass
{
private string html;
public void LoadHtml(string url)
{
html = ...;
}
public ...
0
votes
3answers
121 views
“Property Container” design-pattern in-depth definition
Could anybody, please, explain what is a Property Container or at least where can I get information about that pattern on the Internet?
I've found that it exists as one of the Fundamental patterns in ...
2
votes
1answer
41 views
When should I pass setting-like value as class' variable and when as an assoc. array?
Following my other question, is there a general rule of thumb, when we should pass a setting-like value, that controls class' behavior (for example displayed texts) as as class' constant or variable, ...
1
vote
1answer
70 views
When should I pass value as class variable and when as a method argument?
Is there a general rule of thumb, when we should pass a value as as class variable and when as a method argument? Or is it just a choice of the developer?
For example -- are there any reasons, why ...
0
votes
1answer
96 views
How can I layout this class to make it easier to use for API developers?
I have an application that allows the user to place a string of text into a PDF document. I have three different ways that they can do this:
Use a Form Field. Then they have four properties to ...
2
votes
4answers
497 views
Call the database every time, or create an object in memory, and if so, how and how often to update?
I'm creating an app in javascript/nodejs and using neo4j as database.
Let's say I have an entity User in my database. It has a bunch of properties, like boxes_collected and places_visited, which keep ...
1
vote
1answer
334 views
A class with only methods
What's the name for a class that has only methods? There are no fields/properties. Just two methods with the ability to parse some file in two ways. I have named the class Parser, but it just doesn't ...
8
votes
4answers
456 views
Why define a Java object using interface (e.g. Map) rather than implementation (HashMap)
In most Java code, I see people declare Java objects like this:
Map<String, String> hashMap = new HashMap<>();
List<String> list = new ArrayList<>();
instead of:
...
24
votes
10answers
6k views
Can we live without constructors?
Let's say in some reason all objects are created this way $obj = CLASS::getInstance(). Then we inject dependencies using setters and perform starting initialization using $obj->initInstance(); Are ...
2
votes
1answer
228 views
C# dynamically linking different libraries and/or external classes
tl;dr
Is it possible to include an external library (and create instances of objects represented within that library) based on some condition? This must be done at compile-time, so separate builds?
...
1
vote
2answers
185 views
An alternative to having fields that might not be used in a class
I'm writing a card/ board game in Java. Since the game has lots of cards that interact in different ways, my Player class has become sort of bloated with all these different fields used for keeping ...
2
votes
1answer
54 views
what's the proper way to organize code that straddles multiple objects?
Let's say I have the following classes: person, widget, foo_bars.
A person can have multiple widgets and foo_bars.
When an admin deletes a person, I want my code to do a cascading delete... and ...
13
votes
6answers
2k views
Should a class know about its subclasses?
Should a class know about its subclasses? Should a class do something that is specific for a given subclass for instance?
My instincts tells me that is a bad design, it seems like an anti-pattern of ...
1
vote
0answers
230 views
JavaScript Class Module: How to avoid an antipattern
I've seen a number of different methodologies when it comes to applying class-based inheritance to JS/ECMA-based projects. Over the past several months, I've been applying IIFE Namespaces to my class ...
0
votes
1answer
182 views
PHP class data implementation
I'm studying OOP PHP and have watched two tutorials that implement user login\registration system as an example. But implementation varies. Which way will be more correct one to work with data such as ...
48
votes
9answers
3k views
Is there any “real” reason multiple inheritance is hated? [closed]
I've always liked the idea of having multiple inheritance supported in a language. Most often though it's intentionally forgone, and the supposed "replacement" is interfaces. Interfaces simply do ...
0
votes
2answers
304 views
OOP PHP make separate classes or one
I'm studying OOP PHP and working on a small personal project but I have hard time grasping some concepts. Let's say I have a list of items, each item belongs to subcategory, and each subcategory ...
1
vote
3answers
403 views
C# vector class - Interpolation design decision
Currently I'm working on a vector class in C# and now I'm coming to the point, where I've to figure out, how i want to implement the functions for interpolation between two vectors. At first I came up ...
0
votes
0answers
29 views
Why use link classes in oql instead of classes that contain links
itop abstracts its very complex database design with an object query language (oql). For this there are classes definded, like 'Ticket' and 'Server'. Now a Ticket usually is linked to a Server. In my ...
0
votes
2answers
182 views
Subclassing to avoid line length
The standard line length of code is 80 characters per line. This is accepted and followed by the most of programmers.
I working on a state machine of a character and is necessary for me follow this ...
3
votes
3answers
515 views
How bad is it to have two methods with the same name but different signatures in two classes?
I have a design problem related to a public interface, the names of methods, and the understanding of my API and code.
I have two classes like this:
class A:
...
function collision(self):
...
2
votes
2answers
244 views
Class design for calling “the same method” on different classes from one place
Let me introduce my situation:
I have Java EE application and in one package, I want to have classes which will act primarily as cache for some data from database, for example:
class that will hold ...
0
votes
2answers
586 views
How to handle lookup data in a C# ASP.Net MVC4 application?
I am writing an MVC4 application to track documents we have on file for our clients. I'm using code first, and have created models for my objects (Company, Document, etc...). I am now faced with the ...
3
votes
2answers
520 views
How to deal with pointers from child to parent?
I have a class that represents a file in specific binary format on disk (the parent in the title) and another class that represents an object inside that file (child). When the object changes, it ...
4
votes
6answers
286 views
Fields vs method arguments [closed]
I just started writing some new class and it occurred to me that I was adding a lot of method arguments that are not strictly needed. This is following a habit to avoid having state in classes that is ...
1
vote
1answer
152 views
Class Design for special business rules
I'm developing an application that allows people to place custom manufacturing orders. However, while most require similar paperwork, some of them have custom paperwork that only they require. My ...
0
votes
1answer
196 views
Code design: is this specific case of monkeypatching in python acceptable?
I'm using python to do some research tasks. I have a class hierarchy for "tools", where each object is an instance of a particular tool. They all share some functionality and have many similarities in ...
0
votes
2answers
150 views
Is it valid to initialize an instance of a class within the same class?
I was wondering if it's valid to initialize an instance of a class within the same class? For example:
public class Person()
{
string name;
string age;
public Person getPerson()
{
...
0
votes
3answers
357 views
Have Superclass Contain List of Subclass?
For the GUI of a program, I want it to list several items, all of which are, from a programming side, just subclasses. They can add one of these items to a list. I don't want to hard-code which ...
0
votes
3answers
979 views
What is good practice when inheriting static classes isn't possible/allowed
I am developing a project in C# and due to a design decision it is not possible to have a static class inherit another static class. But I have, in my opinion, a case where this would make sense.
I ...
2
votes
5answers
580 views
Why is TDD not working here?
I want to write a class A that has a method calculate(<params>). That method should calculate a value using database data. So I wrote a class Test_A for unit testing (TDD). The database access ...
1
vote
1answer
142 views
Is it evil to model JSON responses to classes when they are mostly smilar?
Here's the problem :
While implementing a C# wrapper for an online API (Discogs) I've been faced to a dilemma : quite often the responses returned have mostly similar members and while modeling these ...
0
votes
3answers
160 views
which style of member-access is preferable [duplicate]
the purpose of oop using classes is to encapsulate members from the outer space. i always read that accessing members should be done by methods. for example:
template<typename T>
class foo_1 {
...
2
votes
2answers
777 views
When to use inheritance or composition/aggregation?
In general, how do I decide whether to use make a class a super class, or to make it a private data member of another class? For example, given two classes, how does one decide whether to do this:
...
0
votes
1answer
109 views
Refactoring classes with ref to themselves
How can I refactor this code?
class Node
{
public Node Parent { get; set; }
}
class AVLNode
{
public AVLNode Parent { get; set; }
}
I tried to use inheritance, but then I have to use type ...
0
votes
3answers
193 views
How do you balance out code structuring (few big functions vs. many small ones)?
The golden rule of code structuring is always said as splitting into many sub functions is a good thing. Though I noticed it becomes a problem in complex applications when a class of e.g. 10 bigger ...
2
votes
2answers
274 views
Same constructor signature with different semantics?
Occasionally, I'm confronted with the problem that I have to provide some constructors in order to initialize objects with different sets of data. These sets can be mathematically transformed into ...
1
vote
2answers
109 views
When to store values in constants/finals
This might seem like an odd question, but I'm worried that I'm putting too many things as constants/finals at the top of my java class. I've started to put every value that is in my program into a ...
0
votes
2answers
158 views
What is the convention regarding class names that may already exist in the ORM?
This is a generic question about class names and ORMs, but for context; I'm working on a Flask web app in Python using SQLalchemy.
I'm struggling with naming a new class that will contain the ...
5
votes
4answers
3k views
Is it a good practice to create a ClassCollection of another Class?
Lets says I have a Carclass:
public class Car
{
public string Engine { get; set; }
public string Seat { get; set; }
public string Tires { get; set; }
}
Lets say we're making a system ...
3
votes
5answers
758 views
What classes to put exactly in a class diagram?
What classes must I put in a class diagram? Only classes used in Business Layer and associations between them? Or also other classes in the Data Access Layer, Service Layer, etc.?
9
votes
4answers
430 views
What would be the best way to store movements on a game to allow a rollback?
I'm developing a board game that has a game class that controls the game flow, and players attached to the game class. The board is just a visual class, but the control of the movements is all by the ...
0
votes
1answer
324 views
How can my code structure be improved? [closed]
I am looking for advice on the neatest way to structure my code.
class Password
{
private string cipher;
Password(string cipher)
{
this.cipher = cipher;
}
public string ...
4
votes
3answers
410 views
Why is it so difficult to know where to use interfaces,generics in program design?
I am attempting to learn c# from the head first series, in addition i also consult other books such as Pro C# by Andrew Tolson.
Now the thing is that i perfectly understand the interface,generics ...
1
vote
1answer
178 views
Designing a list class with filtering and sorting
The app I'm developing needs to display lists of items. Simple enough, but there are a number of things which can change based on user input:
Items can be added to/removed from the list.
The items ...