Click here to Skip to main content
15,887,485 members
Home / Discussions / Design and Architecture
   

Design and Architecture

 
QuestionWeb service arhitecture for mobile game Pin
golandy29-Oct-15 7:05
golandy29-Oct-15 7:05 
QuestionMaintainable Design Pattern Pin
Lucas A. Martinez18-Oct-15 6:57
Lucas A. Martinez18-Oct-15 6:57 
AnswerRe: Maintainable Design Pattern Pin
Mycroft Holmes18-Oct-15 16:25
professionalMycroft Holmes18-Oct-15 16:25 
AnswerRe: Maintainable Design Pattern Pin
Gerry Schmitz18-Oct-15 23:17
mveGerry Schmitz18-Oct-15 23:17 
AnswerRe: Maintainable Design Pattern Pin
Udayakiran Kallavi29-Oct-15 7:20
Udayakiran Kallavi29-Oct-15 7:20 
QuestionQuestion about Programming Language/Architecture For A Specialized Reporting Tool Pin
Member 120472219-Oct-15 15:46
Member 120472219-Oct-15 15:46 
AnswerRe: Question about Programming Language/Architecture For A Specialized Reporting Tool Pin
Gerry Schmitz18-Oct-15 23:29
mveGerry Schmitz18-Oct-15 23:29 
QuestionDiscussion - Backward Compatibility Implementation Strategies Pin
Lior Cohen9-Oct-15 0:00
Lior Cohen9-Oct-15 0:00 
Background

In my workplace there is a debate on two backward Compatibility (BC) implementation approaches. I am not talking on the question if our code need to be BC, this is given and a consensus. The question is how to do it in the code level.

Lets assume that we have CodeA with inputA and resultsA and newer evolved code CodeB.
The Code, of course, knows to identify if the input is A or B.
Lets assume that ~20% of the code functionality was changed.
Lets assume that each version footprint is 1Mb.
The BC requirement is that CodeB with InputA will provide ResultsA.

Strategy 1 – if in the top + code duplication

One approach which is led by the more agile side says:

When I evolve my code from A to B, I don't want to think about BC. I will do it as if this was the very first (ever) code. Then in the last stage I will wrap both CodeA and CodeB by a switcher in the most higher level that will call the full old codeA when he sees InputA. I know it is code duplication but binary size is no concern these days and my newest code is always clean and not carry the old deprecated code. When code A will not be necessary anymore few years from now I will throw it away and will be left with B (or C, D ...). I know this is not elegant but time to market is more important and again even if I have 10 versions together it is only 10Mb.

Strategy 2 – if in the fine grained bottom level

Second approach which is led by the more classical "by the book" SW engineering says:

When I evolve my code from A to B I will put a BC handling (if or whatever) on the fine grain lower level changed functionality (functions, methods, lines …). After all it is just 20%. I know it is tiresome and my one code will be with ugly BC handling on many lines but I have at least one consistent and compact code and not huge code with A,B,C,D,E full versions inside.

What do you think? Who is right? Will be happy to hear why, cons and pros + ref to reading on this subject.
AnswerRe: Discussion - Backward Compatibility Implementation Strategies Pin
Eddy Vluggen9-Oct-15 1:34
professionalEddy Vluggen9-Oct-15 1:34 
GeneralRe: Discussion - Backward Compatibility Implementation Strategies Pin
Lior Cohen9-Oct-15 1:46
Lior Cohen9-Oct-15 1:46 
GeneralRe: Discussion - Backward Compatibility Implementation Strategies Pin
Eddy Vluggen9-Oct-15 2:41
professionalEddy Vluggen9-Oct-15 2:41 
GeneralRe: Discussion - Backward Compatibility Implementation Strategies Pin
Lior Cohen9-Oct-15 6:26
Lior Cohen9-Oct-15 6:26 
GeneralRe: Discussion - Backward Compatibility Implementation Strategies Pin
Eddy Vluggen10-Oct-15 3:49
professionalEddy Vluggen10-Oct-15 3:49 
AnswerRe: Discussion - Backward Compatibility Implementation Strategies Pin
Gerry Schmitz10-Oct-15 8:48
mveGerry Schmitz10-Oct-15 8:48 
AnswerRe: Discussion - Backward Compatibility Implementation Strategies Pin
Avani Ass23-Nov-15 22:41
Avani Ass23-Nov-15 22:41 
Suggestioncustom Css not working on MAC operating system Pin
Gurjit Singh8-Oct-15 21:09
Gurjit Singh8-Oct-15 21:09 
GeneralRe: custom Css not working on MAC operating system Pin
Pete O'Hanlon8-Oct-15 21:47
mvePete O'Hanlon8-Oct-15 21:47 
QuestionNeed Help on IEEE Paper"Privacy Preserving Ranked Multi-Keyword Search for multiple data Owners in cloud computing" Pin
ADITYA.JADHAV998-Oct-15 0:55
ADITYA.JADHAV998-Oct-15 0:55 
AnswerRe: Need Help on IEEE Paper"Privacy Preserving Ranked Multi-Keyword Search for multiple data Owners in cloud computing" Pin
Pete O'Hanlon8-Oct-15 1:28
mvePete O'Hanlon8-Oct-15 1:28 
QuestionRe: Need Help on IEEE Paper"Privacy Preserving Ranked Multi-Keyword Search for multiple data Owners in cloud computing" Pin
Paul Conrad13-Oct-15 5:21
professionalPaul Conrad13-Oct-15 5:21 
QuestionLaptop Problem with Black Screen Pin
h5h62-Oct-15 10:56
h5h62-Oct-15 10:56 
AnswerRe: Laptop Problem with Black Screen Pin
Kaaron7-Oct-15 14:19
Kaaron7-Oct-15 14:19 
QuestionIn fear of bloated Statergy Pattern Implementations Pin
popchecker22-Sep-15 21:03
popchecker22-Sep-15 21:03 
AnswerRe: In fear of bloated Statergy Pattern Implementations Pin
Eddy Vluggen22-Sep-15 23:27
professionalEddy Vluggen22-Sep-15 23:27 
SuggestionRe: In fear of bloated Statergy Pattern Implementations Pin
Richard Deeming23-Sep-15 1:49
mveRichard Deeming23-Sep-15 1:49 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.