I will begin with  PolygonSphere

    I used geometry  subdivision   10 x 10.

    Something like this .

    Then   active Vertex mode by press "T" Key .

       Select all of vertex .

      Press Ctrl + D to duplicate vertex .

      ok ! let's scale it  (  Press "X" and hold Shift key together ) then scale it  , now you should get something like this .

     Now change an object to Subdivision mode . by click on  Create + Poly,Mesh  + Subdivision  for test.

     Now change to active edge mode then select an edges like image .

      Press Shift + D key to Subdivide edges .

      Convert  your selection mode to Vertex .

      You will get something like this .

       Then scale down  a little bit .

      Ok now just add  thorn ..

      For the thorn of the cactus, I use 5 Cubes  then Parent it altogether.

      Done !  

Preview with FinalGethering .

Thithiti K.