<div dir="ltr"><div class="gmail_default" style="font-family:monospace;font-size:large">Thanks, Hilaire, for getting back to me so quickly.</div><div class="gmail_default" style="font-family:monospace;font-size:large">Here, the appropriate entities are Financial Assets: bonds and stocks.</div><div class="gmail_default" style="font-family:monospace;font-size:large">We are at the coding the tools necessary for a future valuation of the stream of cash flows those securities will produce...</div><div class="gmail_default" style="font-family:monospace;font-size:large">So, following your advice, maybe a good initial scheme could be:</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">FinancialAsset (abstract class)</div><div class="gmail_default" style="font-family:monospace;font-size:large">Bond</div><div class="gmail_default" style="font-family:monospace;font-size:large">Stock</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">In the former, maybe it is a good place to place the Present Value calculation...</div><div class="gmail_default" style="font-family:monospace;font-size:large">Are there any books or resources you recommend?</div><div class="gmail_default" style="font-family:monospace;font-size:large">Thanks again!</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><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>