我使用firebase作为移动应用程序的数据库.移动应用程序版本1使用某种DB结构.但在版本2中,我有一个主要的架构更改.我找不到任何提及管理数据库升级的最佳实践的具体文档.所以我正在考虑以下步骤,这些步骤在纸面上看起来不错.
通过这些步骤,使用旧版本app的用户将只能读取数据.因此,除非他们不升级应用程序,否则他们将无法修改任何数据.
我是否在管理架构更新方面朝着正确的方向前进?或者有更好的方法来做到这一点.
我正在尝试使用rspec版本2.14执行测试用例,我收到了以下错误
undefined method `rspec_reset' for
Run Code Online (Sandbox Code Playgroud)
我想在类上使用rspec_reset.相同的测试用例正在使用rspec 2.13.1.那么在2.13之后rspec_reset方法可能不可用吗?
我正在编写一个用于克隆对象的复制构造函数.当一个类引用一个对象时,该对象被其他几个类进一步说明.
class Person
{
String name;
Address address;
}
class HomeAdress extends Address
{
}
class OfficeAdress extends Address
{
}
Run Code Online (Sandbox Code Playgroud)
现在在Person的复制构造函数中,要决定要传递哪个Address对象,我必须使用instanceof.
public Person(Person p)
{
name = p.name;
if(p.address instanceof HomeAddress)
{
address = new HomeAddress((HomeAddress) address);
}else if(p.address instanceof OfficeAddress)
{
address = new OfficeAddress((OfficeAddress) address);
}
}
Run Code Online (Sandbox Code Playgroud)
因此,当将新类型的地址添加到模型时,这是基本问题.我将不得不在Person复制构造函数中添加相同的检查.有没有办法避免instanceof检查实例化正确的地址对象.我可以使用refelction来避免代码中的instanceof吗?