首页 文章 精选 留言 我的

精选列表

搜索[MLA架构],共10008篇文章
优秀的个人博客,低调大师

企业架构随笔

上一篇文章碰巧谈到了“软件吞噬一切”和“AI吞噬一切”,一大早,在2025年的最后一个黎明中,偶然读到了两篇文章,《Palantir高管:为什么软件吞噬了世界,却没有把蛋糕做大?》和《Palantir CTO:技术本身就是问题,货物崇拜式管理是病根》,第一篇是Ted Mabrey(Palantir副总裁、商业事业部负责人)发表于2024年1月7日,第二篇是Shyam Shankar(Palantir CTO),发表于2024年2月2日。现在Palantir还在火着,所以,一些旧文也就经常会被人翻出来学习。

优秀的个人博客,低调大师

mvp架构优化

MVP优化的结构 mvp结构图.png view的结构 BaseView public interface BaseView { void showLoading(); void hideLoading(); } NewMvpView public interface NewMvpView extends BaseView { void setListItem(List<String> data); void showMessage(String message); } presenter结构 BasePresenter public abstract class BasePresenter<T> { public T mView; public void attach(T mView){ this.mView = mView; } public void dettach(){ mView = null; } } NewMvpPresenter public class NewMvpPresenter extends BasePresenter<NewMvpView> { private RequestBiz requestBiz; private Handler mHandler; public NewMvpPresenter() { requestBiz = new RequestBiziml(); mHandler = new Handler(Looper.getMainLooper()); } public void onResume(){ requestBiz.requestForData(new OnRequestListener() { @Override public void onSuccess(final List<String> data) { mHandler.post(new Runnable() { @Override public void run() { mView.hideLoading(); mView.setListItem(data); } }); } @Override public void onFailed() { mView.showMessage("请求失败"); } }); } public void onItemClick(int position){ mView.showMessage("点击了item"+position); } } activity结构 BaseMvpActivity public abstract class BaseMvpActivity<V,T extends BasePresenter<V>> extends AppCompatActivity { public T presenter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); presenter = initPresenter(); } @Override protected void onResume() { super.onResume(); presenter.attach((V)this); } @Override protected void onDestroy() { presenter.dettach(); super.onDestroy(); } public abstract T initPresenter(); } NewMvpActivity public class NewMvpActivity extends BaseMvpActivity<NewMvpView,NewMvpPresenter> implements NewMvpView,AdapterView.OnItemClickListener{ private ListView mvpListView; private ProgressBar pb; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_mvp); mvpListView = (ListView)findViewById(R.id.mvp_listview); mvpListView.setOnItemClickListener(this); pb = (ProgressBar) findViewById(R.id.mvp_loading); } @Override protected void onResume() { super.onResume(); presenter.onResume(); } @Override public NewMvpPresenter initPresenter() { return new NewMvpPresenter(); } @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { presenter.onItemClick(position); } @Override public void setListItem(List<String> data) { ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,data); mvpListView.setAdapter(adapter); } @Override public void showMessage(String message) { Toast.makeText(this,message,Toast.LENGTH_SHORT).show(); } @Override public void showLoading() { pb.setVisibility(View.VISIBLE); } @Override public void hideLoading() { pb.setVisibility(View.GONE); } }

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册