我正在审查一些代码(Java)并根据业务逻辑流程图进行更改.当前的代码依赖于大量的if语句 - 我想尝试并远离它.我一直在阅读有关多态性的文章,并试图围绕如何将其应用于我的情况.我可以使它适用于单个条件级别,但努力在多个条件级别进一步扩展它.代码将在运行时执行,这个'Logic'方法将传递上一步的变量.
举例:我们有2个动物园,'动物园A'和'动物园B',以及'家'.每个都是'地方'.在每个动物园,我们有4个'位置','北','南','东'和'西'.'Home'只有一个位置.我们希望根据一些变量为一个人分配一个"目的地".这些变量是:'Place',它与我们的地方(Zoo A,Zoo B,Home)相关.'方向',与我们的位置相关,(N,S,E,W).流程图:
|----- | 'HOME'
|Place?| ----- > *destination = 'home'*
|----- |
Zoo A | Zoo B
|---------------|----------------------------------------|
|----------| |----------|
|Direction?| |Direction?|
|----------| |----------|
| North | North
----------- *destination = 'Zoo A North' ----------- *destination = 'Zoo B North'
| East | East
----------- *destination = 'Zoo A East' ----------- *destination = 'Zoo B East'
| South | South
----------- *destination = 'Zoo A South' ----------- *destination = 'Zoo B South'
| West | …Run Code Online (Sandbox Code Playgroud) 我正在尝试为log4j生成支持MDC的纯文本文件找到日志查看器.我看过像Chainsaw,LogSaw,Otros这样的一些人,但他们似乎只支持NDC.
谁能指出我正确的方向?