Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 999593
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 16, 20262026-05-16T07:22:44+00:00 2026-05-16T07:22:44+00:00

There is a website (called the Anti-if campaign) that talks about how to replace

  • 0

There is a website (called the Anti-if campaign) that talks about how to replace big nested if-statements with something more maintainable (through the use of a ‘bond class’ see example). I understand the concept, but I don’t know how to implement it (even with the example).

Question:
May I get a concrete example of how to implement this (ie, the bond class)? – it has been bugging me for some time now. Java is my preference, but any examples are welcome.

note
I have found one more article on this in stack overflow here

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-16T07:22:44+00:00Added an answer on May 16, 2026 at 7:22 am

    This special technique to avoid if-else-if constructs like shown in the example on that campaigns website can be found in in Clean Code by Robert C. Martin. If you follow his basic advices, you don’t need to join the campaign 😉

    The example at the referenced page looks dramatic mainly because the code is poorly formatted. This is how it should look like:

    // Bond class
    double calculateValue() {
      if(_type == BTP)  { 
        return calculateBTPValue();
      } else if(_type == BOT) { 
        return calculateBOTValue();    
      } else {
        return calculateEUBValue();
      }
    }
    

    The recommendation is to replace the condition with polymorphism, which isn’t even the best ideas. A better design is to use composition:

    public interface BondType {
      public double calculate();
    }
    
    public class BOT implements BondType { 
      //...
    }
    
    public class Bond {
      private BondType type;
      public Bond(BondType type) {
        this.type = type;
      }
      public doublce calculateValue() {
        return type.calculate();
      }
    }
    

    Here we got rid of the conditions and delegated the calculation to a new type class.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

There is a website called Gild.com that has different coding puzzles/challenges for users to
Suppose, in root.com website's header there are 3 links called A,B and C.If we
Is there a website or documentation that details the changes made from each version?
Is there any website which provides core java based programming challenges that tests programming
Lets say there is a website called www.hello.com So what really is www -
I have a multi-language website that makes use of pretty URLs, so called search-engine-friendly
We have a version on our website that is published. Is there a way
I have a Section in my website called Recent Updates. in that I will
I have an ID code representative of a protein. There is website called InterPro
On my website there is a button that just used to call a function

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.