Which is the better Subclass or handle logic?
Let's say I have an edit box, It doesn't matter being on MFC or Win32 or...
I for some reason need to make the edit just accept the Alphabetical characters which means in the range "a z".
So I can subclass the edit with new proc and everything is fine.
But sometimes I use an edit with its default proc but I use some logic to handle the input for example:
bool isValid = true;
for(auto i(0); i != strlen(myEditBuffer); i++){
if(!isalpha(myEditBuffer[i]){
isValid = false;
break;
}
}
So above as you see I get the whole thing from the edit and use logic to decide whether it is valid or not input.
- The thing that matters me in this case: Which is the best Subclass or handle input using logic. I mean The performance, speed.
c++ oop logic subclass
add a comment |
Let's say I have an edit box, It doesn't matter being on MFC or Win32 or...
I for some reason need to make the edit just accept the Alphabetical characters which means in the range "a z".
So I can subclass the edit with new proc and everything is fine.
But sometimes I use an edit with its default proc but I use some logic to handle the input for example:
bool isValid = true;
for(auto i(0); i != strlen(myEditBuffer); i++){
if(!isalpha(myEditBuffer[i]){
isValid = false;
break;
}
}
So above as you see I get the whole thing from the edit and use logic to decide whether it is valid or not input.
- The thing that matters me in this case: Which is the best Subclass or handle input using logic. I mean The performance, speed.
c++ oop logic subclass
add a comment |
Let's say I have an edit box, It doesn't matter being on MFC or Win32 or...
I for some reason need to make the edit just accept the Alphabetical characters which means in the range "a z".
So I can subclass the edit with new proc and everything is fine.
But sometimes I use an edit with its default proc but I use some logic to handle the input for example:
bool isValid = true;
for(auto i(0); i != strlen(myEditBuffer); i++){
if(!isalpha(myEditBuffer[i]){
isValid = false;
break;
}
}
So above as you see I get the whole thing from the edit and use logic to decide whether it is valid or not input.
- The thing that matters me in this case: Which is the best Subclass or handle input using logic. I mean The performance, speed.
c++ oop logic subclass
Let's say I have an edit box, It doesn't matter being on MFC or Win32 or...
I for some reason need to make the edit just accept the Alphabetical characters which means in the range "a z".
So I can subclass the edit with new proc and everything is fine.
But sometimes I use an edit with its default proc but I use some logic to handle the input for example:
bool isValid = true;
for(auto i(0); i != strlen(myEditBuffer); i++){
if(!isalpha(myEditBuffer[i]){
isValid = false;
break;
}
}
So above as you see I get the whole thing from the edit and use logic to decide whether it is valid or not input.
- The thing that matters me in this case: Which is the best Subclass or handle input using logic. I mean The performance, speed.
c++ oop logic subclass
c++ oop logic subclass
edited Nov 13 '18 at 13:52
gsamaras
51.1k23100186
51.1k23100186
asked Nov 13 '18 at 13:26
MaestroMaestro
7910
7910
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
I mean The performance, speed.
At that point, you really might have been a victim of premature optimization. Unless you pinpoint the bottleneck of your application to be that for loop in your logic for example, then you are looking for efficiency gains in the wrong place.
It's all about readability and maintenance.
You should think about which approach would be better for the reader of your code (it could be you in the future!). Having a code with high readability really makes maintenance easier too, since the next person will easier understand what is going on.
Which is the better Subclass or handle logic?
Your choice. Think what better suits your application and go for it.
For example, if the application uses a variety of editors (one for alphanumerical input, one for numerical input, one for accepting only letters, one for accepting only special characters, and so on), then it would make sense to have a class Editor and several subclasses alphanumericalEditor, numericEditor, and so on, where every subclass would inherit from Editor.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53282062%2fwhich-is-the-better-subclass-or-handle-logic%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
I mean The performance, speed.
At that point, you really might have been a victim of premature optimization. Unless you pinpoint the bottleneck of your application to be that for loop in your logic for example, then you are looking for efficiency gains in the wrong place.
It's all about readability and maintenance.
You should think about which approach would be better for the reader of your code (it could be you in the future!). Having a code with high readability really makes maintenance easier too, since the next person will easier understand what is going on.
Which is the better Subclass or handle logic?
Your choice. Think what better suits your application and go for it.
For example, if the application uses a variety of editors (one for alphanumerical input, one for numerical input, one for accepting only letters, one for accepting only special characters, and so on), then it would make sense to have a class Editor and several subclasses alphanumericalEditor, numericEditor, and so on, where every subclass would inherit from Editor.
add a comment |
I mean The performance, speed.
At that point, you really might have been a victim of premature optimization. Unless you pinpoint the bottleneck of your application to be that for loop in your logic for example, then you are looking for efficiency gains in the wrong place.
It's all about readability and maintenance.
You should think about which approach would be better for the reader of your code (it could be you in the future!). Having a code with high readability really makes maintenance easier too, since the next person will easier understand what is going on.
Which is the better Subclass or handle logic?
Your choice. Think what better suits your application and go for it.
For example, if the application uses a variety of editors (one for alphanumerical input, one for numerical input, one for accepting only letters, one for accepting only special characters, and so on), then it would make sense to have a class Editor and several subclasses alphanumericalEditor, numericEditor, and so on, where every subclass would inherit from Editor.
add a comment |
I mean The performance, speed.
At that point, you really might have been a victim of premature optimization. Unless you pinpoint the bottleneck of your application to be that for loop in your logic for example, then you are looking for efficiency gains in the wrong place.
It's all about readability and maintenance.
You should think about which approach would be better for the reader of your code (it could be you in the future!). Having a code with high readability really makes maintenance easier too, since the next person will easier understand what is going on.
Which is the better Subclass or handle logic?
Your choice. Think what better suits your application and go for it.
For example, if the application uses a variety of editors (one for alphanumerical input, one for numerical input, one for accepting only letters, one for accepting only special characters, and so on), then it would make sense to have a class Editor and several subclasses alphanumericalEditor, numericEditor, and so on, where every subclass would inherit from Editor.
I mean The performance, speed.
At that point, you really might have been a victim of premature optimization. Unless you pinpoint the bottleneck of your application to be that for loop in your logic for example, then you are looking for efficiency gains in the wrong place.
It's all about readability and maintenance.
You should think about which approach would be better for the reader of your code (it could be you in the future!). Having a code with high readability really makes maintenance easier too, since the next person will easier understand what is going on.
Which is the better Subclass or handle logic?
Your choice. Think what better suits your application and go for it.
For example, if the application uses a variety of editors (one for alphanumerical input, one for numerical input, one for accepting only letters, one for accepting only special characters, and so on), then it would make sense to have a class Editor and several subclasses alphanumericalEditor, numericEditor, and so on, where every subclass would inherit from Editor.
edited Nov 13 '18 at 13:49
answered Nov 13 '18 at 13:37
gsamarasgsamaras
51.1k23100186
51.1k23100186
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53282062%2fwhich-is-the-better-subclass-or-handle-logic%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown