Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于 classPrefix 和 stuffix #4

Open
shanshuiren opened this issue Aug 8, 2017 · 1 comment
Open

关于 classPrefix 和 stuffix #4

shanshuiren opened this issue Aug 8, 2017 · 1 comment

Comments

@shanshuiren
Copy link
Contributor

现在框架在 oc 上面必须有classPrefix 和 stuffix,这种机制下有两种情况下目前不好解决。

  1. 项目内的第三方控件库,第三方控件库都有自己的命名
  2. 公司内部封装的多个项目共用的库

希望后面能够支持不规则的组件名称,比如注册url和组件名的时候以手动指定的方式或者其它方式。
@yizzuide 楼主怎么看?

@yizzuide
Copy link
Owner

yizzuide commented Aug 8, 2017

@shanshuiren

框架的过渡性

框架本身没有强制约束开发方式,它是可以承前启后的,意思是你可以用这样的开发方式:

旧项目控制器---跳转到--->URL组件化控制器---跳转到--->旧项目控制器

其中:

  • 旧项目控制器---跳转到--->URL组件化控制器
// 在旧项目控制器里,通过框架提供的获取组件方法
UIViewController *viewController = [XFUIBus openURLForGetUInterface:@"xx://xxx/xxx"];
[self.navigationController pushViewController:viewController animated:YES];
  • URL组件化控制器---跳转到--->旧项目控制器
// 在模块组件的视图层里,通过普通的创建方式
LoginController *loginVC = [[LoginController alloc] init];
[self.navigationController pushViewController:loginVC animated:YES];

如何组件化

如是你还是想把第三方控件库、公司内部封装添加到框架的组件容器,有以下方案:

  • 自己再封装一层规范的控制器名来继承那些
  • 把那些添加到组件化好的控制器视图

关于改进问题

最后说一下框架不能提供不规则的原因:

  1. 无规则不成方圆,会导致很多情况不可控
  2. 你可以没有前辍,但框架是多架构模式容器,各种构架模式都有自己的一些层和后辍名,如:
    2.1. MVVM里的ViewModel后辍
    2.2. VIPER里的Presenter、Interactor后辍等

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants