Can I store a computed field as a field of a Content Type? In content type = Person, I have these fields:
- First Name  [node:field_person_first_name]
- Middle Name  [node:field_person_middle_name]
- Last Name  [node:field_person_last_name]
- Suffix  [node:field_person_suffix] 

In views, I have successfully concatenated the full name by adding Global: Custom text and using Replacement Patterns to build the fields. However, this is time consuming.

These fields will always be put together in both of these two ways:
- full name, last first
- full name, first first

Is there a way that I can create two computed fields for these which I could store in the content type? If so, how do I do this? Note: I don't want to modify the original data.

Update:
I have Entity Token and Token already. I loaded Token Filter. I found, but have not yet loaded Token Field. 

Token Field suggests that it might be nice if one could define a field "without needing to know any PHP" but the samples on this page indicate otherwise. My HTML knowledge is slight and PHP is non-existent. 

I did follow a training video which gave me access to some tokens when creating a new field in Person, but these did not include tokens for fields within the Person content type.

Will this be possible (without PHP) if I install Token Field?

Update 2:
The site simplytest.me is excellent. Token Field loaded. Unfortunately in a real test, I'm getting "Cath [node:field_person_middle_name] Staincliffe [node:field_person_suffix]" because author Cath Staincliffe doesn't have a middle name or suffix. Do you know how to instruct the module to only use a name if one exists?
The Concat Field module looks like it can do what you want. From the README:


  This module provides a new field type that allows you to select other
  fields from that content type (or any bundle), and it will concatenate
  their display values into a single field on save.
  
  The example use case is then using the field as an exposed filter in a
  View.


Or you can write some code to do it via a custom module that calls the hook_node_presave function. In your content type definition, create the fields you want, and set their display type to Hidden. Then, in your function, set the values. See the answer to this question for more info:

How to use hook_node_presave to change field's value

Edit: 

While it looks useful at first glance, the Concat Field module is very limited. You can't change the order of the fields, and it requires patches in order to generate any kind of output. 

Another option would be to use the Token Field module. With this module, you can create a field into which you can enter tokens. This will give you a lot more flexibility - you can place the fields in whatever order you want, and specify punctuation or other characters around them. 

2nd edit to answer updated question


  Token Field suggests that it might be nice if one could define a field
  "without needing to know any PHP" but the samples on this page
  indicate otherwise.


My interpretation of the Token Field page is you only need to know PHP if you want to use conditional tokens, and that's what the sample code illustrates.


  Will this be possible (without PHP) if I install Token Field?


In theory, yes, but the only way to know for sure is to try it. If you're worried about compromising your site or database, install Token Field on simplytest.me and set up your content type there.