<p>Or should they always be a function when business logic is invloved ?</p>

<p>Example: Order.RequiresPayment </p>

<p>property or function ?
There are business rules as for when it is true or not</p>

<p>IS there a pattern that may determine this?</p>

When in doubt, consider maintenance of your code as a guideline.
If
```
OrderRequiresPayment
```
is determined very simply (for example, set
```
true
```
on order creation,
```
false
```
when payment is received), a property is fine.
If it's determined by a formula, or if it's updated in many places, it's probably best to encapsulate it in a function.