Ruby module namespacing advice

0

nel mio attuale progetto hanno:

module Stats

  class Site
    ...
  end

  class Product
    def initialize(product_id)
      @product_id = product_id
    end
  end

  class Profile
    ...
  end

end

ora nella mia classe Product abbiamo metodi per ottenere / impostare il prodotto views (giorno, settimana, mese) e i metodi per ottenere / impostare il prodotto sales (giorno, settimana, mesi)

è meglio lo spazio dei nomi come Stats::Product::Views e Stats::Product::Sales o semplicemente i metodi prefix come sale_add e view_add ?

chiamate di esempio con namespace:

Stats::Product::Sales.add(product_id) # increment sales counter 
Stats::Product::Sales.today(product_id) # get n. today sales  
Stats::Product::Sales.week(product_id) # get n. week sales  

Stats::Product::Views.add(product_id) #increment product page view counter
Stats::Product::Views.today(product_id) #get n. today product page views
Stats::Product::Views.week(product_id) #get n. week product page views

esempio con struttura corrente:

Stats::Product(product_id).sale_add # increment sales counter 
Stats::Product(product_id).sales_today  # get n. today sales 
Stats::Product(product_id).sales_week # get n. week sales 

Stats::Product(product_id).view_add #increment product page view counter
Stats::Product(product_id).views_today #get n. today product page views
Stats::Product(product_id).views_week #get n. week product page views

Ora, quale pensi sia una soluzione più elegante? e perché?

    
posta byterussian 23.01.2014 - 17:27
fonte

0 risposte

Leggi altre domande sui tag