<div dir="ltr"><div class="gmail_default" style="font-family:monospace;font-size:large">So here is the first attempt at a mediocre OO design.<br clear="all"></div><div class="gmail_default" style="font-family:monospace;font-size:large">I suspect that accessors should be that: accessors, and should not perform any additional operations....</div><div class="gmail_default" style="font-family:monospace;font-size:large">Also, there is likely some redundant or unneeded code (i.e., not sure about the initialization method).</div><div class="gmail_default" style="font-family:monospace;font-size:large">Here is where I need help: OO design and implementation...</div><div class="gmail_default" style="font-family:monospace;font-size:large">I really appreciate any help you can provide.</div><div class="gmail_default" style="font-family:monospace;font-size:large">Nacho</div><div class="gmail_default" style="font-family:monospace;font-size:large"><br></div><div class="gmail_default" style="font-family:monospace;font-size:large"><br></div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><b><font size="2">Ignacio Sniechowski</font></b><b><br></b></div><div><br></div><div><b><br></b></div><div><br></div><div><b></b></div><div><b><br></b></div><div><b><br></b></div><div><b><br></b></div><div><b><br></b></div><div><b></b><br></div><b><div><b><br></b></div><div><b><br></b></div><div><b><br></b></div><br></b><b><br></b><b><br></b><div><br><br><div style="text-align:left"><br></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Oct 1, 2023 at 10:17 AM Hilaire Fernandes via Cuis-dev <<a href="mailto:cuis-dev@lists.cuis.st">cuis-dev@lists.cuis.st</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF">
    <p><font size="4">Hi Ignacio,</font></p>
    <p>You need to think on what are the involved actors. In your case
      it is financial entities. It is also possible it is too early to
      know about the different entities or your domain is not complex
      enough yet. In that case, you can just have one class
      FianancialTools with several method doing your computation. It can
      be just class methods if you don't need state (instance
      variables), so you will pass the arguments.<br>
    </p>
    <p>I don't think your candidates can be elected as classes, more as
      states (instance variable)<br>
    </p>
    <p>Find below examples of classes of a financial application I wrote
      (for loans consolidation). It could give idea about the level of
      complexity of the involved objects.<br>
    </p>
    <p>CGAccountsAnalysis.class<br>
      CGAddress.class<br>
      CGAddressFrance.class<br>
      CGAmortizationConstantSchedule.class<br>
      CGAmortizationFlexSchedule.class<br>
      CGAmortizationSchedule.class<br>
      CGAmortizationTerm.class<br>
      CGAppData.class<br>
      CGBankAccountFr.class<br>
      CGBankAgencyFr.class<br>
      CGBankFinalOffer.class<br>
      CGBankPosting.class<br>
      CGBankPostingExpense.class<br>
      CGBankPostingExplanation.class<br>
      CGBankPostingIncome.class<br>
      CGBankPostingLoan.class<br>
      CGBankPostings.class<br>
      CGBirthplace.class<br>
      CGChild.class<br>
      CGCivilStatus.class<br>
      CGClerk.class<br>
      CGClient.class<br>
      CGClientDebt.class<br>
      CGClientLoan.class<br>
      CGClientLoanFixedRate.class<br>
      CGClientLoanFloatingRate.class<br>
      CGClientLoanRevolving.class<br>
      CGComment.class<br>
      CGConnectedEntity.class<br>
      CGCurrency.class<br>
      CGDepartment.class<br>
      CGDocumentList.class<br>
      CGDonator.class<br>
      CGEntity.class<br>
      CGEuribor.class<br>
      CGExpense.class<br>
      CGFinancedProject.class<br>
      CGFinancialContractAbstractProxy.class<br>
      CGFinancialContract.class<br>
      CGFinancialContractDeathProxy.class<br>
      CGFinancialContractProxy.class<br>
      CGFinancialPackage.class<br>
      CGFinancialPackageOne.class<br>
      CGFinancialPackageSteps.class<br>
      CGFinancialPackageTwo.class<br>
      CGFinancialSituationAbstractProxy.class<br>
      CGFinancialSituation.class<br>
      CGFinancialSituationDeathProxy.class<br>
      CGFinancialSituationProxy.class<br>
      CGGuaranteedLoan.class<br>
      CGHousing.class<br>
      CGIncome.class<br>
      CGIncomeExpense.class<br>
      CGInsurance.class<br>
      CGInterBankRate.class<br>
      CGMessage.class<br>
      CGMoney.class<br>
      CGMonthAnalysis.class<br>
      CGMoralPerson.class<br>
      CGMortgageCaution.class<br>
      CGOAT.class<br>
      CGOrganisation.class<br>
      CGParticipant.class<br>
      CGPhone.class<br>
      CGPhysicalPerson.class<br>
      CGProspect.class<br>
      CGRealestate.class<br>
      CGReports.class<br>
      CGRole.class<br>
      CGSuretyCaution.class<br>
      CGSwap.class<br>
      CGTemplate.class<br>
      CGTools.class<br>
      CGUser.class<br>
      CGUserClient.class<br>
      CGUserManagement.class<br>
      CGValidators.class<br>
      ChronologyConstants.extension<br>
      Cofilair.class<br>
      Collection.extension<br>
      DateAndTime.extension<br>
      Date.extension<br>
      Dictionary.extension<br>
      Month.extension<br>
      monticello.meta<br>
      Number.extension<br>
      Object.extension<br>
      properties.json<br>
      String.extension<br>
      UndefinedObject.extension<br>
      WAComponent.extension<br>
    </p>
    <pre cols="72">-- 
GNU Dr. Geo
<a href="http://drgeo.eu" target="_blank">http://drgeo.eu</a>
<a href="http://blog.drgeo.eu" target="_blank">http://blog.drgeo.eu</a></pre>
  </div>

-- <br>
Cuis-dev mailing list<br>
<a href="mailto:Cuis-dev@lists.cuis.st" target="_blank">Cuis-dev@lists.cuis.st</a><br>
<a href="https://lists.cuis.st/mailman/listinfo/cuis-dev" rel="noreferrer" target="_blank">https://lists.cuis.st/mailman/listinfo/cuis-dev</a><br>
</blockquote></div>