study javascript solid principle