Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class OldCode {
- private static final int K = 5;
- private static final int Q = 15;
- private static final int M = 25;
- class SomeClass {
- public int doSomething() {
- return OldCode.K * 5;
- }
- }
- class SomeOtherClass {
- public int doSomething() {
- return OldCode.Q * OldCode.M * 3;
- }
- }
- }
- //refactored variant, name "AlgorithmParamters" so something more useful maybe
- class NewCode {
- class AlgorithmParameters {
- private final int k;
- private final int q;
- private final int m;
- AlgorithmParameters(int k, int q, int m) {
- this.k = k;
- this.q = q;
- this.m = m;
- }
- public int getK() {
- return k;
- }
- public int getQ() {
- return q;
- }
- public int getM() {
- return m;
- }
- }
- class SomeClass {
- private final AlgorithmParameters parameters;
- SomeClass(AlgorithmParameters parameters) {
- this.parameters = parameters;
- }
- public int doSomething() {
- return parameters.getK() * 5;
- }
- //another variant which may be more elegant
- public int doSomething(AlgorithmParameters parameters) {
- return parameters.getK() * 5;
- }
- }
- class SomeOtherClass {
- private final AlgorithmParameters parameters;
- SomeOtherClass(AlgorithmParameters parameters) {
- this.parameters = parameters;
- }
- public int doSomething() {
- return parameters.getQ() * parameters.getM() * 3;
- }
- //another variant which may be more elegant
- public int doSomething(AlgorithmParameters parameters) {
- return parameters.getQ() * parameters.getM() * 3;
- }
- }
- public void exampleRun() {
- for(int i = 0;i<10;++i) {
- AlgorithmParameters parameters = new AlgorithmParameters(i,i,i);
- SomeClass someClass = new SomeClass(parameters);
- SomeOtherClass someOtherClass = new SomeOtherClass(parameters);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement